@@ -3,48 +3,22 @@ import { streamCollector } from "./index";
3
3
declare const global : any ;
4
4
5
5
describe ( "streamCollector" , ( ) => {
6
- const ambientFileReader =
7
- typeof FileReader !== "undefined" ? FileReader : undefined ;
8
-
9
- beforeEach ( ( ) => {
10
- const mockFileReader : FileReader = {
11
- readAsArrayBuffer : jest . fn ( )
12
- } as any ;
13
- global . FileReader = function ( ) {
14
- return mockFileReader ;
15
- } as any ;
16
- } ) ;
17
-
18
- afterEach ( ( ) => {
19
- global . FileReader = ambientFileReader as any ;
20
- } ) ;
21
-
22
- it ( "returns a Uint8Array from a blob" , async ( ) => {
23
- const dataPromise = streamCollector ( new Blob ( ) ) ;
24
-
25
- const reader = new FileReader ( ) ;
26
- ( reader as any ) . result = Uint8Array . from ( [ 0xde , 0xad ] ) . buffer ;
27
- reader . onload ! ( { } as any ) ;
28
-
29
- expect ( await dataPromise ) . toEqual ( Uint8Array . from ( [ 0xde , 0xad ] ) ) ;
6
+ it ( "returns a Uint8Array from a blob" , done => {
7
+ const dataPromise = streamCollector (
8
+ new Response ( new Uint8Array ( [ 102 , 111 , 111 ] ) . buffer ) . body
9
+ ) ;
10
+ dataPromise . then ( ( data : any ) => {
11
+ expect ( data ) . toEqual ( Uint8Array . from ( [ 102 , 111 , 111 ] ) ) ;
12
+ done ( ) ;
13
+ } ) ;
30
14
} ) ;
31
15
32
- it ( "propagates errors encountered by the file reader" , async ( ) => {
33
- const dataPromise = streamCollector ( new Blob ( ) ) ;
34
-
35
- const reader = new FileReader ( ) ;
36
- ( reader as any ) . error = new Error ( "PANIC" ) ;
37
- reader . onerror ! ( { } as any ) ;
38
-
39
- await expect ( dataPromise ) . rejects . toMatchObject ( new Error ( "PANIC" ) ) ;
40
- } ) ;
41
-
42
- it ( "rejects the promise when the read is aborted" , async ( ) => {
43
- const dataPromise = streamCollector ( new Blob ( ) ) ;
44
-
45
- const reader = new FileReader ( ) ;
46
- reader . onabort ! ( { } as any ) ;
47
-
48
- await expect ( dataPromise ) . rejects . toMatchObject ( new Error ( "Read aborted" ) ) ;
16
+ it ( "returns a Uint8Array when stream is empty" , done => {
17
+ const expected = new Uint8Array ( 0 ) ;
18
+ const dataPromise = streamCollector ( new Response ( expected . buffer ) . body ) ;
19
+ dataPromise . then ( ( data : any ) => {
20
+ expect ( data ) . toEqual ( expected ) ;
21
+ done ( ) ;
22
+ } ) ;
49
23
} ) ;
50
24
} ) ;
0 commit comments