|
1 | 1 | import './setup.ts' |
2 | 2 | import { assertEquals, assertInstanceOf } from 'std/assert/mod.ts' |
3 | | -import { assertSpyCall, spy } from 'std/testing/mock.ts' |
| 3 | +import { assertSpyCall, Spy, spy } from 'std/testing/mock.ts' |
| 4 | +import { afterEach, describe, it } from 'std/testing/bdd.ts' |
4 | 5 | import { readAs } from '../mod.ts' |
5 | 6 |
|
6 | | -Deno.test('read blob', async (t) => { |
| 7 | +describe('read blob', () => { |
| 8 | + let readAsSpy: Spy<FileReader, [blob: Blob, encoding?: string], void> |
| 9 | + |
| 10 | + afterEach(() => { |
| 11 | + readAsSpy.restore() |
| 12 | + }) |
| 13 | + |
7 | 14 | const blob = new Blob(['foo'], { type: 'text/plain' }) |
8 | 15 |
|
9 | | - await t.step('as `ArrayBuffer`', async () => { |
| 16 | + it('as `ArrayBuffer`', async () => { |
10 | 17 | const reader = new FileReader() |
11 | | - const readAsArrayBufferSpy = spy(reader, 'readAsArrayBuffer') |
| 18 | + readAsSpy = spy(FileReader.prototype, 'readAsArrayBuffer') |
12 | 19 | const result = await readAs(reader, blob, 'ArrayBuffer') |
13 | 20 |
|
14 | 21 | assertEquals(result, reader.result) |
15 | 22 | assertInstanceOf(result, ArrayBuffer) |
16 | | - assertSpyCall(readAsArrayBufferSpy, 0, { |
| 23 | + assertSpyCall(readAsSpy, 0, { |
17 | 24 | self: reader, |
18 | 25 | args: [blob, undefined], |
19 | 26 | }) |
20 | 27 | }) |
21 | 28 |
|
22 | | - await t.step('as `BinaryString`', async () => { |
| 29 | + it('as `BinaryString`', async () => { |
23 | 30 | const reader = new FileReader() |
24 | | - const readAsBinaryStringSpy = spy(reader, 'readAsBinaryString') |
| 31 | + readAsSpy = spy( |
| 32 | + FileReader.prototype, |
| 33 | + 'readAsBinaryString', |
| 34 | + ) |
25 | 35 | const result = await readAs(reader, blob, 'BinaryString') |
26 | 36 |
|
27 | 37 | assertEquals(result, reader.result) |
28 | 38 | assertEquals(result, 'foo') |
29 | | - assertSpyCall(readAsBinaryStringSpy, 0, { |
| 39 | + assertSpyCall(readAsSpy, 0, { |
30 | 40 | self: reader, |
31 | 41 | args: [blob, undefined], |
32 | 42 | }) |
33 | 43 | }) |
34 | 44 |
|
35 | | - await t.step('as `DataURL`', async () => { |
| 45 | + it('as `DataURL`', async () => { |
36 | 46 | const reader = new FileReader() |
37 | | - const readAsDataURLSpy = spy(reader, 'readAsDataURL') |
| 47 | + readAsSpy = spy(FileReader.prototype, 'readAsDataURL') |
38 | 48 | const result = await readAs(reader, blob, 'DataURL') |
39 | 49 |
|
40 | 50 | assertEquals(result, reader.result) |
41 | 51 | assertEquals(result, 'data:text/plain;base64,Zm9v') |
42 | | - assertSpyCall(readAsDataURLSpy, 0, { |
| 52 | + assertSpyCall(readAsSpy, 0, { |
43 | 53 | self: reader, |
44 | 54 | args: [blob, undefined], |
45 | 55 | }) |
46 | 56 | }) |
47 | 57 |
|
48 | | - await t.step('as `Text` with encoding utf-8', async () => { |
| 58 | + it('as `Text` with encoding utf-8', async () => { |
49 | 59 | const reader = new FileReader() |
50 | | - const readAsTextSpy = spy(reader, 'readAsText') |
| 60 | + readAsSpy = spy(FileReader.prototype, 'readAsText') |
51 | 61 | const result = await readAs(reader, blob, 'Text', 'utf-8') |
52 | 62 |
|
53 | 63 | assertEquals(result, reader.result) |
54 | | - assertEquals(typeof result, 'string') |
55 | | - assertSpyCall(readAsTextSpy, 0, { |
| 64 | + assertEquals(result, 'foo') |
| 65 | + assertSpyCall(readAsSpy, 0, { |
56 | 66 | self: reader, |
57 | 67 | args: [blob, 'utf-8'], |
58 | 68 | }) |
|
0 commit comments