add more tests

pull/7551/head
Yuichiro Yamashita 4 years ago
parent 6bf77a6451
commit d727a0d6e5

@ -0,0 +1,11 @@
export default {
skip_if_ssr: true,
skip_if_hydrate_from_ssr: true,
compileOptions: {
dev: true
},
props: {
selected: false
},
error: 'this={...} of <svelte:component> should specify a Svelte component.'
};

@ -0,0 +1,9 @@
<script>
import Sub from './Sub.svelte';
export let selected;
let banana = {};
let component = banana;
$: selected ? component = Sub : component = banana;
</script>
<svelte:component this={component} />

@ -1,11 +1,8 @@
export default {
skip_if_ssr: true,
skip_if_hydrate_from_ssr: true,
compileOptions: {
dev: true
},
props: {
selected: false
},
error: 'this={...} of <svelte:component> should specify a Svelte component.'
error: 'component is not a constructor'
};

@ -0,0 +1,19 @@
export default {
compileOptions: {
dev: true
},
props: {
componentName: 'Sub'
},
html: '<div>Sub</div>',
test({ assert, component, target }) {
component.componentName = 'Proxy';
assert.htmlEqual(target.innerHTML, '<div>Sub</div>');
try {
component.componentName = 'banana';
throw new Error('Expected an error');
} catch (err) {
assert.equal(err.message, 'this={...} of <svelte:component> should specify a Svelte component.');
}
}
};

@ -0,0 +1,14 @@
<script>
import Sub from './Sub.svelte';
export let componentName = 'Sub';
let proxy = new Proxy(Sub, {});
let banana = {};
let component;
$: {
if (componentName === 'Sub') component = Sub;
else if (componentName === 'Proxy') component = proxy;
else component = banana;
};
</script>
<svelte:component this={component} />

@ -1,16 +1,16 @@
export default {
compileOptions: {
dev: true
},
props: {
selected: true
componentName: 'Sub'
},
test({ assert, component }) {
html: '<div>Sub</div>',
test({ assert, component, target }) {
component.componentName = 'Proxy';
assert.htmlEqual(target.innerHTML, '<div>Sub</div>');
try {
component.selected = false;
component.componentName = 'banana';
throw new Error('Expected an error');
} catch (err) {
assert.equal(err.message, 'this={...} of <svelte:component> should specify a Svelte component.');
assert.equal(err.message, 'component is not a constructor');
}
}
};

@ -1,9 +1,14 @@
<script>
import Sub from './Sub.svelte';
export let selected;
export let componentName = 'Sub';
let proxy = new Proxy(Sub, {});
let banana = {};
let component = banana;
$: selected ? component = Sub : component = banana;
let component;
$: {
if (componentName === 'Sub') component = Sub;
else if (componentName === 'Proxy') component = proxy;
else component = banana;
};
</script>
<svelte:component this={component} />

Loading…
Cancel
Save