236 lines
8.2 KiB
Plaintext
236 lines
8.2 KiB
Plaintext
UTC: 2026-10-14T07:20:59.789143+00:00
|
||
COMMAND: npm test -- tests/audio.test.ts tests/game.test.ts tests/audio-requests.test.ts
|
||
|
||
> find-word@0.1.1 test
|
||
> vitest run tests/audio.test.ts tests/game.test.ts tests/audio-requests.test.ts
|
||
|
||
|
||
RUN v5.0.4 /home/hermes/worktrees/find-word-v0.1.1
|
||
|
||
❯ tests/audio-requests.test.ts (1 test | 1 failed) 28ms
|
||
× WAV 요청 판정은 query의 버전·순서와 무관하게 pathname을 사용한다 26ms
|
||
❯ tests/game.test.ts (8 tests | 1 failed) 92ms
|
||
❯ 출제와 정답 판정 (5)
|
||
× 목표 WAV 100개 모두 같은 명시적 cache-busting 버전과 정답 mapping을 유지한다 50ms
|
||
❯ tests/audio.test.ts (8 tests | 3 failed) 357ms
|
||
❯ 오디오 재생 수명과 믹서 (8)
|
||
× intro와 목표 실제 fetch URL에 같은 명시적 cache-busting 버전을 붙인다 101ms
|
||
× intro 404 후 intro·목표를 동일한 versioned URL로 다시 요청한다 47ms
|
||
× target 404 후 intro·목표를 동일한 versioned URL로 다시 요청한다 47ms
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯ Failed Tests 5 ⎯⎯⎯⎯⎯⎯⎯
|
||
|
||
FAIL tests/audio-requests.test.ts > WAV 요청 판정은 query의 버전·순서와 무관하게 pathname을 사용한다
|
||
AssertionError: /audio/intro.wav?v=0.1.1: expected false to be true // Object.is equality
|
||
|
||
- Expected
|
||
+ Received
|
||
|
||
- true
|
||
+ false
|
||
|
||
❯ tests/audio-requests.test.ts:12:74
|
||
10| "/audio/luck-apple.wav",
|
||
11| ]) {
|
||
12| expect.soft(isAudioRequest(new URL(path, "http://localhost")), pat…
|
||
| ^
|
||
13| }
|
||
14| for (const path of [
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/11]⎯
|
||
|
||
FAIL tests/audio-requests.test.ts > WAV 요청 판정은 query의 버전·순서와 무관하게 pathname을 사용한다
|
||
AssertionError: /audio/luck-apple.wav?v=0.1.1: expected false to be true // Object.is equality
|
||
|
||
- Expected
|
||
+ Received
|
||
|
||
- true
|
||
+ false
|
||
|
||
❯ tests/audio-requests.test.ts:12:74
|
||
10| "/audio/luck-apple.wav",
|
||
11| ]) {
|
||
12| expect.soft(isAudioRequest(new URL(path, "http://localhost")), pat…
|
||
| ^
|
||
13| }
|
||
14| for (const path of [
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/11]⎯
|
||
|
||
FAIL tests/audio-requests.test.ts > WAV 요청 판정은 query의 버전·순서와 무관하게 pathname을 사용한다
|
||
AssertionError: /audio/luck-apple.wav?retry=1&v=0.1.1: expected false to be true // Object.is equality
|
||
|
||
- Expected
|
||
+ Received
|
||
|
||
- true
|
||
+ false
|
||
|
||
❯ tests/audio-requests.test.ts:12:74
|
||
10| "/audio/luck-apple.wav",
|
||
11| ]) {
|
||
12| expect.soft(isAudioRequest(new URL(path, "http://localhost")), pat…
|
||
| ^
|
||
13| }
|
||
14| for (const path of [
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/11]⎯
|
||
|
||
FAIL tests/audio-requests.test.ts > WAV 요청 판정은 query의 버전·순서와 무관하게 pathname을 사용한다
|
||
AssertionError: /audio/luck-apple.wav?v=0.1.1&retry=1: expected false to be true // Object.is equality
|
||
|
||
- Expected
|
||
+ Received
|
||
|
||
- true
|
||
+ false
|
||
|
||
❯ tests/audio-requests.test.ts:12:74
|
||
10| "/audio/luck-apple.wav",
|
||
11| ]) {
|
||
12| expect.soft(isAudioRequest(new URL(path, "http://localhost")), pat…
|
||
| ^
|
||
13| }
|
||
14| for (const path of [
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/11]⎯
|
||
|
||
FAIL tests/audio-requests.test.ts > WAV 요청 판정은 query의 버전·순서와 무관하게 pathname을 사용한다
|
||
AssertionError: /audio/manifest.json?file=intro.wav: expected true to be false // Object.is equality
|
||
|
||
- Expected
|
||
+ Received
|
||
|
||
- false
|
||
+ true
|
||
|
||
❯ tests/audio-requests.test.ts:20:74
|
||
18| "/audio/intro.wav.txt?v=0.1.1",
|
||
19| ]) {
|
||
20| expect.soft(isAudioRequest(new URL(path, "http://localhost")), pat…
|
||
| ^
|
||
21| }
|
||
22| });
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/11]⎯
|
||
|
||
FAIL tests/audio-requests.test.ts > WAV 요청 판정은 query의 버전·순서와 무관하게 pathname을 사용한다
|
||
AssertionError: /other/intro.wav: expected true to be false // Object.is equality
|
||
|
||
- Expected
|
||
+ Received
|
||
|
||
- false
|
||
+ true
|
||
|
||
❯ tests/audio-requests.test.ts:20:74
|
||
18| "/audio/intro.wav.txt?v=0.1.1",
|
||
19| ]) {
|
||
20| expect.soft(isAudioRequest(new URL(path, "http://localhost")), pat…
|
||
| ^
|
||
21| }
|
||
22| });
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[6/11]⎯
|
||
|
||
FAIL tests/audio-requests.test.ts > WAV 요청 판정은 query의 버전·순서와 무관하게 pathname을 사용한다
|
||
AssertionError: /audio-backup/intro.wav: expected true to be false // Object.is equality
|
||
|
||
- Expected
|
||
+ Received
|
||
|
||
- false
|
||
+ true
|
||
|
||
❯ tests/audio-requests.test.ts:20:74
|
||
18| "/audio/intro.wav.txt?v=0.1.1",
|
||
19| ]) {
|
||
20| expect.soft(isAudioRequest(new URL(path, "http://localhost")), pat…
|
||
| ^
|
||
21| }
|
||
22| });
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[7/11]⎯
|
||
|
||
FAIL tests/audio.test.ts > 오디오 재생 수명과 믹서 > intro와 목표 실제 fetch URL에 같은 명시적 cache-busting 버전을 붙인다
|
||
AssertionError: expected [ '/audio/intro.wav', …(1) ] to deeply equal [ '/audio/intro.wav?v=0.1.1', …(1) ]
|
||
|
||
- Expected
|
||
+ Received
|
||
|
||
[
|
||
- "/audio/intro.wav?v=0.1.1",
|
||
- "/audio/correction-market.wav?v=0.1.1",
|
||
+ "/audio/intro.wav",
|
||
+ "/audio/correction-market.wav",
|
||
]
|
||
|
||
❯ tests/audio.test.ts:97:54
|
||
95| f.sources.at(-1)!.onended?.();
|
||
96| await done;
|
||
97| expect(f.fetcher.mock.calls.map(([url]) => url)).toEqual([
|
||
| ^
|
||
98| "/audio/intro.wav?v=0.1.1",
|
||
99| `/audio/${question.id}.wav?v=0.1.1`,
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[8/11]⎯
|
||
|
||
FAIL tests/audio.test.ts > 오디오 재생 수명과 믹서 > intro 404 후 intro·목표를 동일한 versioned URL로 다시 요청한다
|
||
FAIL tests/audio.test.ts > 오디오 재생 수명과 믹서 > target 404 후 intro·목표를 동일한 versioned URL로 다시 요청한다
|
||
AssertionError: expected [ '/audio/intro.wav', …(3) ] to deeply equal [ '/audio/intro.wav?v=0.1.1', …(3) ]
|
||
|
||
- Expected
|
||
+ Received
|
||
|
||
[
|
||
- "/audio/intro.wav?v=0.1.1",
|
||
- "/audio/correction-market.wav?v=0.1.1",
|
||
- "/audio/intro.wav?v=0.1.1",
|
||
- "/audio/correction-market.wav?v=0.1.1",
|
||
+ "/audio/intro.wav",
|
||
+ "/audio/correction-market.wav",
|
||
+ "/audio/intro.wav",
|
||
+ "/audio/correction-market.wav",
|
||
]
|
||
|
||
❯ tests/audio.test.ts:119:54
|
||
117| f.sources.at(-1)!.onended?.();
|
||
118| await done;
|
||
119| expect(f.fetcher.mock.calls.map(([url]) => url)).toEqual([
|
||
| ^
|
||
120| "/audio/intro.wav?v=0.1.1",
|
||
121| `/audio/${question.id}.wav?v=0.1.1`,
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[9/11]⎯
|
||
|
||
FAIL tests/game.test.ts > 출제와 정답 판정 > 목표 WAV 100개 모두 같은 명시적 cache-busting 버전과 정답 mapping을 유지한다
|
||
AssertionError: expected Set{ null } to deeply equal Set{ '0.1.1' }
|
||
|
||
- Expected
|
||
+ Received
|
||
|
||
Set {
|
||
- "0.1.1",
|
||
+ null,
|
||
}
|
||
|
||
❯ tests/game.test.ts:30:22
|
||
28| versions.add(url.searchParams.get("v"));
|
||
29| }
|
||
30| expect(versions).toEqual(new Set(["0.1.1"]));
|
||
| ^
|
||
31| });
|
||
32| it("실제 보기에 있는 경쟁 단어를 문장에 넣고 청취 연산별 순서를 유지한다", () => {
|
||
|
||
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[10/11]⎯
|
||
|
||
|
||
Test Files 3 failed (3)
|
||
Tests 5 failed | 12 passed (17)
|
||
Start at 07:21:00
|
||
Duration 1.91s (environment 66%, setup 13%, tests 11%, transform 6%, worker 2%, import 2%)
|
||
|
||
|
||
EXIT_CODE: 1
|