diff --git a/test/runtime/samples/dynamic-element-action-update/_config.js b/test/runtime/samples/dynamic-element-action-update/_config.js index 3756313dab..c9d53088e9 100644 --- a/test/runtime/samples/dynamic-element-action-update/_config.js +++ b/test/runtime/samples/dynamic-element-action-update/_config.js @@ -1,27 +1,47 @@ +let logs = []; + export default { html: `

tag is 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, ` -

tag is h2.

- `); + assert.deepEqual(logs, [ + 'create: h1,opt2', + 'update: h1,opt2', + 'destroy', + 'create: h2,opt2' + ]); + assert.htmlEqual(target.innerHTML, '

tag is h2.

'); + + component.tag = false; + assert.deepEqual(logs, [ + 'create: h1,opt2', + 'update: h1,opt2', + 'destroy', + 'create: h2,opt2', + 'destroy' + ]); + + assert.htmlEqual(target.innerHTML, ''); } }; diff --git a/test/runtime/samples/dynamic-element-action-update/main.svelte b/test/runtime/samples/dynamic-element-action-update/main.svelte index beccf0071b..da269e115e 100644 --- a/test/runtime/samples/dynamic-element-action-update/main.svelte +++ b/test/runtime/samples/dynamic-element-action-update/main.svelte @@ -1,12 +1,12 @@ diff --git a/test/runtime/samples/dynamic-element-undefined-tag/_config.js b/test/runtime/samples/dynamic-element-undefined-tag/_config.js index 22dc25b41e..53b4e6e563 100644 --- a/test/runtime/samples/dynamic-element-undefined-tag/_config.js +++ b/test/runtime/samples/dynamic-element-undefined-tag/_config.js @@ -1,3 +1,20 @@ export default { - html: '' + solo: true, + html: '', + test({ component, target, assert }) { + component.tag = 'h1'; + assert.htmlEqual(target.innerHTML, '

Foo

'); + + component.tag = null; + assert.htmlEqual(target.innerHTML, ''); + + component.tag = 'div'; + assert.htmlEqual(target.innerHTML, '
Foo
'); + + component.tag = false; + assert.htmlEqual(target.innerHTML, ''); + + component.tag = 'span'; + assert.htmlEqual(target.innerHTML, 'Foo'); + } }; diff --git a/test/runtime/samples/dynamic-element-undefined-tag/main.svelte b/test/runtime/samples/dynamic-element-undefined-tag/main.svelte index 785ab58073..6aca93ca13 100644 --- a/test/runtime/samples/dynamic-element-undefined-tag/main.svelte +++ b/test/runtime/samples/dynamic-element-undefined-tag/main.svelte @@ -1,5 +1,5 @@ Foo