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