From d44436c3bf2ce693e037106df14f581f27863553 Mon Sep 17 00:00:00 2001 From: Paul Sauve Date: Thu, 15 Jun 2017 22:28:50 -0500 Subject: [PATCH] Fix #643 --- src/generators/dom/visitors/IfBlock.ts | 7 ++++++- test/js/samples/if-block-no-update/expected-bundle.js | 4 +++- test/js/samples/if-block-no-update/expected.js | 6 ++++-- tmp/svelte-bench | 1 + 4 files changed, 14 insertions(+), 4 deletions(-) create mode 160000 tmp/svelte-bench diff --git a/src/generators/dom/visitors/IfBlock.ts b/src/generators/dom/visitors/IfBlock.ts index 7e294bc89f08..16f0ce795b25 100644 --- a/src/generators/dom/visitors/IfBlock.ts +++ b/src/generators/dom/visitors/IfBlock.ts @@ -271,9 +271,14 @@ function compound( `); } - block.builders.destroy.addLine( + block.builders.unmount.addLine( `${if_name}{ ${name}.unmount(); + }` + ); + + block.builders.destroy.addLine( + `${if_name}{ ${name}.destroy(); }` ); diff --git a/test/js/samples/if-block-no-update/expected-bundle.js b/test/js/samples/if-block-no-update/expected-bundle.js index bf5690896d62..b1c908a8da25 100644 --- a/test/js/samples/if-block-no-update/expected-bundle.js +++ b/test/js/samples/if-block-no-update/expected-bundle.js @@ -164,12 +164,14 @@ function create_main_fragment ( state, component ) { }, unmount: function () { + { + if_block.unmount(); + } detachNode( if_block_anchor ); }, destroy: function () { { - if_block.unmount(); if_block.destroy(); } } diff --git a/test/js/samples/if-block-no-update/expected.js b/test/js/samples/if-block-no-update/expected.js index a4a22ba10501..63f272f1d1c0 100644 --- a/test/js/samples/if-block-no-update/expected.js +++ b/test/js/samples/if-block-no-update/expected.js @@ -29,12 +29,14 @@ function create_main_fragment ( state, component ) { }, unmount: function () { + { + if_block.unmount(); + } detachNode( if_block_anchor ); }, destroy: function () { { - if_block.unmount(); if_block.destroy(); } } @@ -116,4 +118,4 @@ SvelteComponent.prototype.teardown = SvelteComponent.prototype.destroy = functio this._torndown = true; }; -export default SvelteComponent; \ No newline at end of file +export default SvelteComponent; diff --git a/tmp/svelte-bench b/tmp/svelte-bench new file mode 160000 index 000000000000..aba0dabec06f --- /dev/null +++ b/tmp/svelte-bench @@ -0,0 +1 @@ +Subproject commit aba0dabec06f355859a3eb0213844abdc0898298