Skip to content

Commit 2079e67

Browse files
authored
replace skip_if_ssr and skip_if_hydrate with modes (#10956)
1 parent 326e2b4 commit 2079e67

File tree

58 files changed

+90
-77
lines changed

Some content is hidden

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

58 files changed

+90
-77
lines changed

packages/svelte/tests/runtime-browser/assert.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,9 @@ function normalize_children(node) {
111111
* @template Props
112112
* @param {{
113113
* skip?: boolean;
114-
* skip_if_ssr?: boolean | 'permanent';
115-
* skip_if_hydrate?: boolean | 'permanent';
116114
* solo?: boolean;
115+
* mode?: Array<'server' | 'client' | 'hydrate'>;
116+
* skip_mode?: Array<'server' | 'client' | 'hydrate'>;
117117
* html?: string;
118118
* ssrHtml?: string;
119119
* props?: Props;

packages/svelte/tests/runtime-browser/samples/dynamic-element-custom-element/_config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { test } from '../../assert';
22

33
export default test({
4-
skip_if_ssr: 'permanent',
5-
skip_if_hydrate: 'permanent',
4+
mode: ['client'],
5+
66
props: {
77
tag: /** @type {string | null} */ ('my-custom-element'),
88
name: /** @type {string | null | undefined} */ (null)

packages/svelte/tests/runtime-browser/samples/html-tag-script/_config.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,5 @@ export default test({
44
// Test that @html does not execute scripts when instantiated in the client.
55
// Needs to be in this test suite because JSDOM does not quite get this right.
66
html: `<div></div><script>document.body.innerHTML = 'this should not be executed'</script>`,
7-
skip_if_ssr: 'permanent',
8-
skip_if_hydrate: 'permanent'
7+
mode: ['client']
98
});

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ export async function run_ssr_test(
4646
}
4747

4848
const { run } = suite<ReturnType<typeof import('./assert').test>>(async (config, test_dir) => {
49-
if (config.skip_if_ssr) return;
49+
if (config.mode && !config.mode.includes('server')) return;
50+
if (config.skip_mode?.includes('server')) return;
5051
await run_ssr_test(config, test_dir);
5152
});
5253

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@ const { run: run_browser_tests } = suite_with_variants<
2828
>(
2929
['dom', 'hydrate'],
3030
(variant, config) => {
31-
if (variant === 'hydrate' && config.skip_if_hydrate) return true;
31+
if (variant === 'hydrate') {
32+
if (config.mode && !config.mode.includes('hydrate')) return 'no-test';
33+
if (config.skip_mode?.includes('hydrate')) return true;
34+
}
35+
3236
return false;
3337
},
3438
() => {},

packages/svelte/tests/runtime-legacy/samples/action-custom-event-handler-node-context/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ok, test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // unnecessary to test this in ssr mode
4+
mode: ['client', 'hydrate'],
55

66
html: '<button>10</button>',
77

packages/svelte/tests/runtime-legacy/samples/after-render-prevents-loop/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: true,
4+
skip_mode: ['server'],
55

66
get props() {
77
return { value: 'hello!' };

packages/svelte/tests/runtime-legacy/samples/after-render-triggers-update/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: true,
4+
skip_mode: ['server'],
55

66
get props() {
77
return { value: 'hello!' };

packages/svelte/tests/runtime-legacy/samples/attribute-casing-custom-element/_config.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent',
5-
skip_if_hydrate: 'permanent',
4+
mode: ['client'],
65
html: `
76
<my-custom-element>Hello World!</my-custom-element>
87
`

packages/svelte/tests/runtime-legacy/samples/attribute-casing-foreign-namespace-compiler-option/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@ export default test({
99
<text wordWrap="true"></text>
1010
</page>
1111
`,
12-
skip_if_hydrate: true,
1312

1413
compileOptions: {
1514
namespace: 'foreign'
1615
},
16+
1717
test({ assert, target }) {
1818
// @ts-ignore
1919
const attr = (/** @type {string} */ sel) => target.querySelector(sel).attributes[0].name;

packages/svelte/tests/runtime-legacy/samples/attribute-casing-foreign-namespace/_config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ export default test({
88
<button textWrap="true" text="button">
99
</page>
1010
`,
11-
skip_if_hydrate: true,
1211

1312
test({ assert, target }) {
1413
// @ts-ignore

packages/svelte/tests/runtime-legacy/samples/attribute-custom-element-inheritance/_config.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import { test } from '../../test';
33
export default test({
44
skip: true, // TODO: needs fixing
55

6-
skip_if_ssr: true,
7-
skip_if_hydrate: true,
86
html: `
97
<my-custom-inheritance-element>Hello World!</my-custom-inheritance-element>
108
`

packages/svelte/tests/runtime-legacy/samples/before-render-chain/_config.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ import { test } from '../../test';
33
export default test({
44
skip: true, // TODO: needs fixing
55

6-
skip_if_ssr: true,
7-
86
html: `
97
<span>3</span>
108
<span>2</span>

packages/svelte/tests/runtime-legacy/samples/before-render-prevents-loop/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: true,
4+
skip_mode: ['server'],
55

66
get props() {
77
return { value: 'hello!' };

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { flushSync } from 'svelte';
55
let tasks = [];
66

77
export default test({
8-
skip_if_ssr: 'permanent', // unnecessary to test this in ssr mode
8+
mode: ['client', 'hydrate'], // unnecessary to test this in ssr mode
99

1010
get props() {
1111
tasks = [

packages/svelte/tests/runtime-legacy/samples/binding-select-initial-value-undefined-2/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ok, test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent',
4+
mode: ['client', 'hydrate'],
55

66
html: `
77
<p>selected: b</p>

packages/svelte/tests/runtime-legacy/samples/binding-select-initial-value-undefined-3/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ok, test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent',
4+
mode: ['client', 'hydrate'],
55

66
html: `
77
<p>selected: a</p>

packages/svelte/tests/runtime-legacy/samples/binding-select-initial-value-undefined/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ok, test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent',
4+
mode: ['client', 'hydrate'],
55

66
html: `
77
<p>selected: a</p>

packages/svelte/tests/runtime-legacy/samples/binding-select-unmatched-3/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { ok, test } from '../../test';
22

33
// test select binding behavior when a selected option is removed
44
export default test({
5-
skip_if_ssr: 'permanent',
5+
mode: ['client', 'hydrate'],
66

77
html: `<p>selected: a</p><select><option value="a">a</option><option value="b">b</option><option value="c">c</option></select>`,
88

packages/svelte/tests/runtime-legacy/samples/binding-store-each/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ok, test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent',
4+
mode: ['client', 'hydrate'],
55
html: `
66
<input type="checkbox">
77
<input type="checkbox">

packages/svelte/tests/runtime-legacy/samples/binding-this-component-computed-key/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // there's no class instance to retrieve in SSR mode
4+
mode: ['client', 'hydrate'], // there's no class instance to retrieve in SSR mode
55

66
html: `
77
<div>foo</div>

packages/svelte/tests/runtime-legacy/samples/binding-this-component-each-block-value/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // there's no class instance to retrieve in SSR mode
4+
mode: ['client', 'hydrate'], // there's no class instance to retrieve in SSR mode
55
html: `
66
<div>foo</div>
77
<div>first has foo: true</div>

packages/svelte/tests/runtime-legacy/samples/binding-this-component-each-block/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // there's no class instance to retrieve in SSR mode
4+
mode: ['client', 'hydrate'], // there's no class instance to retrieve in SSR mode
55

66
html: `
77
<div>foo</div>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // there's no class instance to retrieve in SSR mode
4+
mode: ['client', 'hydrate'], // there's no class instance to retrieve in SSR mode
55

66
html: `
77
<div>foo</div>

packages/svelte/tests/runtime-legacy/samples/binding-this-element-reactive-b/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // there's no class instance to retrieve in SSR mode
4+
mode: ['client', 'hydrate'], // there's no class instance to retrieve in SSR mode
55
get props() {
66
return { visible: true };
77
},
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // there's no class instance to retrieve in SSR mode
4+
mode: ['client', 'hydrate'], // there's no class instance to retrieve in SSR mode
55

66
html: '<div>has div: true</div>'
77
});
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // doesn't work in SSR
4+
mode: ['client', 'hydrate'], // doesn't work in SSR
55
html: '<div>object</div>'
66
});

packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-b/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { ok, test } from '../../test';
22
import { flushSync } from 'svelte';
33

44
export default test({
5-
skip_if_ssr: 'permanent', // relies on onMount firing, which does not happen in SSR mode
5+
mode: ['client', 'hydrate'], // relies on onMount firing, which does not happen in SSR mode
66

77
get props() {
88
return { count: 3 };

packages/svelte/tests/runtime-legacy/samples/component-binding-blowback-c/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { ok, test } from '../../test';
22
import { flushSync } from 'svelte';
33

44
export default test({
5-
skip_if_ssr: 'permanent', // relies on onMount firing, which does not happen in SSR mode
5+
mode: ['client', 'hydrate'], // relies on onMount firing, which does not happen in SSR mode
66

77
get props() {
88
return { count: 3 };
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent',
5-
skip_if_hydrate: 'permanent',
4+
mode: ['client'],
5+
66
compileOptions: {
77
dev: true
88
},
9+
910
error: 'this={...} of <svelte:component> should specify a Svelte component.'
1011
});

packages/svelte/tests/runtime-legacy/samples/component-not-constructor/_config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent',
5-
skip_if_hydrate: 'permanent',
4+
mode: ['client'],
5+
66
get props() {
77
return { selected: false };
88
},

packages/svelte/tests/runtime-legacy/samples/constructor-prefer-passed-context/_config.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: true,
4+
skip_mode: ['server'],
5+
56
html: `
67
<div><div>Value in child component: </div></div>
78
`

packages/svelte/tests/runtime-legacy/samples/deconflict-value/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent',
4+
mode: ['client', 'hydrate'],
55

66
html: `
77
<p>Reactive: foo</p>

packages/svelte/tests/runtime-legacy/samples/dynamic-element-animation-2/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ let originalSpanGetBoundingClientRect;
99
let originalParagraphGetBoundingClientRect;
1010

1111
export default test({
12-
skip_if_ssr: 'permanent', // no animations in SSR
12+
mode: ['client', 'hydrate'], // no animations in SSR
1313
get props() {
1414
return {
1515
things: [
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_hydrate: 'permanent', // SSR errors on render already
4+
mode: ['client', 'server'], // SSR errors on render already
5+
56
compileOptions: {
67
dev: true
78
},
9+
810
get props() {
911
return { tag: 123 };
1012
},
13+
1114
error: '<svelte:element> expects "this" attribute to be a string.'
1215
});
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent',
4+
mode: ['client', 'hydrate'],
55
html: '<div>object</div>'
66
});
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // uses oncreate
4+
mode: ['client', 'hydrate'], // uses oncreate
55

66
html: '<div><p>true</p>\n<p>true</p></div>'
77
});

packages/svelte/tests/runtime-legacy/samples/onmount-fires-when-ready/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // uses oncreate
4+
mode: ['client', 'hydrate'], // uses oncreate
55

66
html: '<div><p>true</p></div>',
77

packages/svelte/tests/runtime-legacy/samples/pre-tag/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_hydrate: 'permanent', // output is correct, but test suite chokes on the extra ssr comment which is harmless
4+
mode: ['client', 'server'], // output is correct, but test suite chokes on the extra ssr comment which is harmless
55
withoutNormalizeHtml: true,
66
html: get_html(false),
77
ssrHtml: get_html(true)

packages/svelte/tests/runtime-legacy/samples/preserve-comments/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // a separate SSR test exists
4+
mode: ['client', 'hydrate'], // a separate SSR test exists
55

66
compileOptions: {
77
preserveComments: true
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { test } from '../../test';
22

33
export default test({
4-
skip_if_ssr: 'permanent', // uses oncreate
4+
mode: ['client', 'hydrate'], // uses oncreate
55

66
html: '<p>2</p>'
77
});

0 commit comments

Comments
 (0)