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 { export default {
skip_if_ssr: true, skip_if_ssr: true,
skip_if_hydrate_from_ssr: true, skip_if_hydrate_from_ssr: true,
compileOptions: {
dev: true
},
props: { props: {
selected: false 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 { export default {
compileOptions: {
dev: true
},
props: { 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 { try {
component.selected = false; component.componentName = 'banana';
throw new Error('Expected an error'); throw new Error('Expected an error');
} catch (err) { } 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> <script>
import Sub from './Sub.svelte'; import Sub from './Sub.svelte';
export let selected; export let componentName = 'Sub';
let proxy = new Proxy(Sub, {});
let banana = {}; let banana = {};
let component = banana; let component;
$: selected ? component = Sub : component = banana; $: {
if (componentName === 'Sub') component = Sub;
else if (componentName === 'Proxy') component = proxy;
else component = banana;
};
</script> </script>
<svelte:component this={component} /> <svelte:component this={component} />

Loading…
Cancel
Save