8
8
namespace ICSharpCode . SharpZipLib . Tests . GZip
9
9
{
10
10
11
- #if NETCOREAPP3_1_OR_GREATER
11
+
12
12
[ TestFixture ]
13
13
public class GZipAsyncTests
14
14
{
@@ -21,6 +21,7 @@ public async Task SmallBufferDecompressionAsync([Values(0, 1, 3)] int seed)
21
21
var outputBuffer = new byte [ outputBufferSize ] ;
22
22
var inputBuffer = Utils . GetDummyBytes ( outputBufferSize * 4 , seed ) ;
23
23
24
+ #if NETCOREAPP3_1_OR_GREATER
24
25
await using var msGzip = new MemoryStream ( ) ;
25
26
await using ( var gzos = new GZipOutputStream ( msGzip ) { IsStreamOwner = false } )
26
27
{
@@ -44,6 +45,31 @@ public async Task SmallBufferDecompressionAsync([Values(0, 1, 3)] int seed)
44
45
Assert . AreEqual ( inputBuffer [ i ] , resultBuffer [ i ] ) ;
45
46
}
46
47
}
48
+ #else
49
+ using var msGzip = new MemoryStream ( ) ;
50
+ using ( var gzos = new GZipOutputStream ( msGzip ) { IsStreamOwner = false } )
51
+ {
52
+ await gzos . WriteAsync ( inputBuffer , 0 , inputBuffer . Length ) ;
53
+ }
54
+
55
+ msGzip . Seek ( 0 , SeekOrigin . Begin ) ;
56
+
57
+ using ( var gzis = new GZipInputStream ( msGzip ) )
58
+ using ( var msRaw = new MemoryStream ( ) )
59
+ {
60
+ int readOut ;
61
+ while ( ( readOut = gzis . Read ( outputBuffer , 0 , outputBuffer . Length ) ) > 0 )
62
+ {
63
+ await msRaw . WriteAsync ( outputBuffer , 0 , readOut ) ;
64
+ }
65
+
66
+ var resultBuffer = msRaw . ToArray ( ) ;
67
+ for ( var i = 0 ; i < resultBuffer . Length ; i ++ )
68
+ {
69
+ Assert . AreEqual ( inputBuffer [ i ] , resultBuffer [ i ] ) ;
70
+ }
71
+ }
72
+ #endif
47
73
}
48
74
49
75
/// <summary>
@@ -56,13 +82,23 @@ public async Task OriginalFilenameAsync()
56
82
{
57
83
var content = "FileContents" ;
58
84
85
+ #if NETCOREAPP3_1_OR_GREATER
59
86
await using var ms = new MemoryStream ( ) ;
60
87
await using ( var outStream = new GZipOutputStream ( ms ) { IsStreamOwner = false } )
61
88
{
62
89
outStream . FileName = "/path/to/file.ext" ;
63
90
outStream . Write ( Encoding . ASCII . GetBytes ( content ) ) ;
64
91
}
65
-
92
+ #else
93
+ var ms = new MemoryStream ( ) ;
94
+ var outStream = new GZipOutputStream ( ms ) { IsStreamOwner = false } ;
95
+ outStream . FileName = "/path/to/file.ext" ;
96
+ var bytes = Encoding . ASCII . GetBytes ( content ) ;
97
+ outStream . Write ( bytes , 0 , bytes . Length ) ;
98
+ await outStream . FinishAsync ( System . Threading . CancellationToken . None ) ;
99
+ outStream . Dispose ( ) ;
100
+
101
+ #endif
66
102
ms . Seek ( 0 , SeekOrigin . Begin ) ;
67
103
68
104
using ( var inStream = new GZipInputStream ( ms ) )
@@ -74,5 +110,4 @@ public async Task OriginalFilenameAsync()
74
110
}
75
111
}
76
112
}
77
- #endif
78
113
}
0 commit comments