Skip to content

Commit fd5f5bb

Browse files
authored
monkey-patch console.log and console.warn for all tests (#11265)
* monkey-patch console.log and console.warn for all tests * update legacy tests * various * tests passing * tidy up * tidy up * tidier output
1 parent 47ba488 commit fd5f5bb

File tree

178 files changed

+404
-927
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+404
-927
lines changed

packages/svelte/tests/hydration/samples/ignore-mismatched-href/_config.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,9 @@ export default test({
1111

1212
test(assert, target) {
1313
assert.equal(target.querySelector('a')?.getAttribute('href'), '/bar');
14-
}
14+
},
15+
16+
errors: [
17+
'Detected a href attribute value change during hydration. This will not be repaired during hydration, the href value that came from the server will be used. Related element:'
18+
]
1519
});

packages/svelte/tests/hydration/test.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ interface HydrationTest extends BaseTest {
3232
) => void | Promise<void>;
3333
before_test?: () => void;
3434
after_test?: () => void;
35+
errors?: any[];
3536
}
3637

3738
function read(path: string): string | void {
@@ -65,6 +66,7 @@ const { test, run } = suite<HydrationTest>(async (config, cwd) => {
6566
const snapshot = config.snapshot ? config.snapshot(target) : {};
6667

6768
const error = console.error;
69+
const errors: any[] = [];
6870
let got_hydration_error = false;
6971
console.error = (message: any) => {
7072
if (typeof message === 'string' && message.startsWith('ERR_SVELTE_HYDRATION_MISMATCH')) {
@@ -73,7 +75,7 @@ const { test, run } = suite<HydrationTest>(async (config, cwd) => {
7375
error(message);
7476
}
7577
} else {
76-
error(message);
78+
errors.push(message);
7779
}
7880
};
7981

@@ -85,12 +87,19 @@ const { test, run } = suite<HydrationTest>(async (config, cwd) => {
8587
});
8688

8789
console.error = error;
90+
8891
if (config.expect_hydration_error) {
8992
assert.ok(got_hydration_error, 'Expected hydration error');
9093
} else {
9194
assert.ok(!got_hydration_error, 'Unexpected hydration error');
9295
}
9396

97+
if (config.errors) {
98+
assert.deepEqual(errors, config.errors);
99+
} else if (errors.length) {
100+
throw new Error(`Unexpected errors: ${errors.join('\n')}`);
101+
}
102+
94103
const expected = read(`${cwd}/_expected.html`) ?? rendered.html;
95104
assert_html_equal(target.innerHTML, expected);
96105

packages/svelte/tests/runtime-browser/test.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ let browser: import('@playwright/test').Browser;
1414

1515
beforeAll(async () => {
1616
browser = await chromium.launch();
17-
console.log('[runtime-browser] Launched browser');
1817
}, 20000);
1918

2019
afterAll(async () => {

packages/svelte/tests/runtime-legacy/samples/binding-this-multiple/_config.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,24 @@ import { flushSync } from 'svelte';
22
import { test } from '../../test';
33

44
export default test({
5-
test({ assert, component, target }) {
5+
test({ assert, target, logs }) {
66
const [b1, b2, b3] = target.querySelectorAll('button');
77
const first_h1 = target.querySelector('h1');
88

9-
assert.deepEqual(component.log, [undefined, first_h1]);
9+
assert.deepEqual(logs, [undefined, first_h1]);
1010

1111
flushSync(() => {
1212
b3.click();
1313
});
1414

1515
const third_h1 = target.querySelector('h1');
1616

17-
assert.deepEqual(component.log, [undefined, first_h1, third_h1]);
17+
assert.deepEqual(logs, [undefined, first_h1, third_h1]);
1818

1919
flushSync(() => {
2020
b1.click();
2121
});
2222

23-
assert.deepEqual(component.log, [undefined, first_h1, third_h1, target.querySelector('h1')]);
23+
assert.deepEqual(logs, [undefined, first_h1, third_h1, target.querySelector('h1')]);
2424
}
2525
});

packages/svelte/tests/runtime-legacy/samples/binding-this-multiple/main.svelte

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
<script>
22
let activeTab = 0;
33
let activeHeading;
4-
export let log = [];
54
6-
$: log.push(activeHeading);
5+
$: console.log(activeHeading);
76
</script>
87

98
<div class="tabs">

packages/svelte/tests/runtime-legacy/samples/component-nested-deep/_config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,7 @@ import { unmount } from 'svelte';
44
export default test({
55
test({ component }) {
66
unmount(component.l1);
7-
}
7+
},
8+
9+
warnings: ['Tried to unmount a component that was not mounted.']
810
});
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<script>
22
let keys = ['a', 'b'];
33
let items = ['c', 'd'];
4-
export let log;
4+
55
function setKey(key, value, item) {
6-
log.push(`setKey(${key}, ${value}, ${item})`);
7-
}
6+
console.log(`setKey(${key}, ${value}, ${item})`);
7+
}
88
</script>
99

1010
{#each items as item (item)}
1111
{#each keys as key (key)}
1212
<slot {key} {item} set={(value) => setKey(key, value, item)} />
1313
{/each}
14-
{/each}
14+
{/each}

packages/svelte/tests/runtime-legacy/samples/component-slot-context-props-each-nested/_config.js

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,26 @@ export default test({
77
<button type="button">Set a-d</button>
88
<button type="button">Set b-d</button>
99
`,
10-
async test({ assert, target, window, component }) {
10+
11+
async test({ assert, target, window, logs }) {
1112
const [btn1, btn2, btn3, btn4] = target.querySelectorAll('button');
1213
const click = new window.MouseEvent('click', { bubbles: true });
1314

1415
await btn1.dispatchEvent(click);
15-
assert.deepEqual(component.log, ['setKey(a, value-a-c, c)']);
16+
assert.deepEqual(logs, ['setKey(a, value-a-c, c)']);
1617

1718
await btn2.dispatchEvent(click);
18-
assert.deepEqual(component.log, ['setKey(a, value-a-c, c)', 'setKey(b, value-b-c, c)']);
19+
assert.deepEqual(logs, ['setKey(a, value-a-c, c)', 'setKey(b, value-b-c, c)']);
1920

2021
await btn3.dispatchEvent(click);
21-
assert.deepEqual(component.log, [
22+
assert.deepEqual(logs, [
2223
'setKey(a, value-a-c, c)',
2324
'setKey(b, value-b-c, c)',
2425
'setKey(a, value-a-d, d)'
2526
]);
2627

2728
await btn4.dispatchEvent(click);
28-
assert.deepEqual(component.log, [
29+
assert.deepEqual(logs, [
2930
'setKey(a, value-a-c, c)',
3031
'setKey(b, value-b-c, c)',
3132
'setKey(a, value-a-d, d)',
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
<script>
22
import Nested from './Nested.svelte';
3-
export let log = [];
43
</script>
54

6-
<Nested {log} let:set let:key let:item>
5+
<Nested let:set let:key let:item>
76
<button type="button" on:click={() => set(`value-${key}-${item}`)}>Set {key}-{item}</button>
8-
</Nested>
7+
</Nested>
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<script>
22
let keys = ['a', 'b'];
3-
export let log;
3+
44
function setKey(key, value) {
5-
log.push(`setKey(${key}, ${value})`);
6-
}
5+
console.log(`setKey(${key}, ${value})`);
6+
}
77
</script>
88

99
{#each keys as key (key)}
1010
<slot {key} set={(value) => setKey(key, value)} />
11-
{/each}
11+
{/each}

0 commit comments

Comments
 (0)