mirror of https://github.com/sveltejs/svelte
parent
1e86df520a
commit
f4a8e799ff
@ -1,27 +1,47 @@
|
|||||||
|
let logs = [];
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
html: `
|
html: `
|
||||||
<h1>tag is h1.</h1>
|
<h1>tag is h1.</h1>
|
||||||
`,
|
`,
|
||||||
|
props: {
|
||||||
|
logs
|
||||||
|
},
|
||||||
|
before_test() {
|
||||||
|
logs = [];
|
||||||
|
},
|
||||||
|
|
||||||
async test({ assert, component, target }) {
|
async test({ assert, component, target }) {
|
||||||
|
|
||||||
assert.equal(component.tag, 'h1');
|
assert.equal(component.tag, 'h1');
|
||||||
assert.equal(component.updateText, '');
|
assert.equal(component.updateText, '');
|
||||||
assert.equal(component.destroyText, '');
|
assert.equal(component.destroyText, '');
|
||||||
|
|
||||||
|
assert.deepEqual(logs, ['create: h1,opt2']);
|
||||||
component.opt = 'opt2';
|
component.opt = 'opt2';
|
||||||
|
|
||||||
assert.equal(component.tag, 'h1');
|
assert.equal(component.tag, 'h1');
|
||||||
assert.equal(component.updateText, 'update: h1,opt2');
|
assert.deepEqual(logs, ['create: h1,opt2', 'update: h1,opt2']);
|
||||||
assert.equal(component.destroyText, '');
|
|
||||||
|
|
||||||
component.tag = 'h2';
|
component.tag = 'h2';
|
||||||
|
|
||||||
assert.equal(component.tag, 'h2');
|
assert.equal(component.tag, 'h2');
|
||||||
assert.equal(component.updateText, 'update: h1,opt2');
|
assert.deepEqual(logs, [
|
||||||
assert.equal(component.destroyText, 'destroy');
|
'create: h1,opt2',
|
||||||
assert.htmlEqual(target.innerHTML, `
|
'update: h1,opt2',
|
||||||
<h2>tag is h2.</h2>
|
'destroy',
|
||||||
`);
|
'create: h2,opt2'
|
||||||
|
]);
|
||||||
|
assert.htmlEqual(target.innerHTML, '<h2>tag is h2.</h2>');
|
||||||
|
|
||||||
|
component.tag = false;
|
||||||
|
assert.deepEqual(logs, [
|
||||||
|
'create: h1,opt2',
|
||||||
|
'update: h1,opt2',
|
||||||
|
'destroy',
|
||||||
|
'create: h2,opt2',
|
||||||
|
'destroy'
|
||||||
|
]);
|
||||||
|
|
||||||
|
assert.htmlEqual(target.innerHTML, '');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,3 +1,20 @@
|
|||||||
export default {
|
export default {
|
||||||
html: ''
|
solo: true,
|
||||||
|
html: '',
|
||||||
|
test({ component, target, assert }) {
|
||||||
|
component.tag = 'h1';
|
||||||
|
assert.htmlEqual(target.innerHTML, '<h1>Foo</h1>');
|
||||||
|
|
||||||
|
component.tag = null;
|
||||||
|
assert.htmlEqual(target.innerHTML, '');
|
||||||
|
|
||||||
|
component.tag = 'div';
|
||||||
|
assert.htmlEqual(target.innerHTML, '<div>Foo</div>');
|
||||||
|
|
||||||
|
component.tag = false;
|
||||||
|
assert.htmlEqual(target.innerHTML, '');
|
||||||
|
|
||||||
|
component.tag = 'span';
|
||||||
|
assert.htmlEqual(target.innerHTML, '<span>Foo</span>');
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<script>
|
<script>
|
||||||
let tag;
|
export let tag;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:element this={tag}>Foo</svelte:element>
|
<svelte:element this={tag}>Foo</svelte:element>
|
||||||
|
|||||||
Loading…
Reference in new issue