diff --git a/src/shared/index.js b/src/shared/index.js index b63a4ab001..66bc983d27 100644 --- a/src/shared/index.js +++ b/src/shared/index.js @@ -16,6 +16,7 @@ export function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } export function destroyDev(detach) { @@ -201,6 +202,7 @@ export function removeFromStore() { } export var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, @@ -215,6 +217,7 @@ export var proto = { }; export var protoDev = { + destroyed: false, destroy: destroyDev, get: get, fire: fire, diff --git a/test/js/samples/collapses-text-around-comments/expected-bundle.js b/test/js/samples/collapses-text-around-comments/expected-bundle.js index c54a4508e7..a99922055d 100644 --- a/test/js/samples/collapses-text-around-comments/expected-bundle.js +++ b/test/js/samples/collapses-text-around-comments/expected-bundle.js @@ -49,6 +49,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -179,6 +180,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/component-static/expected-bundle.js b/test/js/samples/component-static/expected-bundle.js index 27d4a5d5df..82ff4459bb 100644 --- a/test/js/samples/component-static/expected-bundle.js +++ b/test/js/samples/component-static/expected-bundle.js @@ -25,6 +25,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -155,6 +156,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/computed-collapsed-if/expected-bundle.js b/test/js/samples/computed-collapsed-if/expected-bundle.js index 9129d64ebf..c9a0faa1bb 100644 --- a/test/js/samples/computed-collapsed-if/expected-bundle.js +++ b/test/js/samples/computed-collapsed-if/expected-bundle.js @@ -25,6 +25,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -155,6 +156,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/css-media-query/expected-bundle.js b/test/js/samples/css-media-query/expected-bundle.js index 3eb06a7baa..4329f7f2d9 100644 --- a/test/js/samples/css-media-query/expected-bundle.js +++ b/test/js/samples/css-media-query/expected-bundle.js @@ -45,6 +45,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -175,6 +176,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/css-shadow-dom-keyframes/expected-bundle.js b/test/js/samples/css-shadow-dom-keyframes/expected-bundle.js index a8a14c254a..070a1e93c0 100644 --- a/test/js/samples/css-shadow-dom-keyframes/expected-bundle.js +++ b/test/js/samples/css-shadow-dom-keyframes/expected-bundle.js @@ -37,6 +37,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -167,6 +168,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/do-use-dataset/expected-bundle.js b/test/js/samples/do-use-dataset/expected-bundle.js index 1baf806a52..a48ed78cb9 100644 --- a/test/js/samples/do-use-dataset/expected-bundle.js +++ b/test/js/samples/do-use-dataset/expected-bundle.js @@ -41,6 +41,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -171,6 +172,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/dont-use-dataset-in-legacy/expected-bundle.js b/test/js/samples/dont-use-dataset-in-legacy/expected-bundle.js index 3ebad459d3..73c8d3915f 100644 --- a/test/js/samples/dont-use-dataset-in-legacy/expected-bundle.js +++ b/test/js/samples/dont-use-dataset-in-legacy/expected-bundle.js @@ -45,6 +45,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -175,6 +176,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/each-block-changed-check/expected-bundle.js b/test/js/samples/each-block-changed-check/expected-bundle.js index dae7830ecb..7772321994 100644 --- a/test/js/samples/each-block-changed-check/expected-bundle.js +++ b/test/js/samples/each-block-changed-check/expected-bundle.js @@ -57,6 +57,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -187,6 +188,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/event-handlers-custom/expected-bundle.js b/test/js/samples/event-handlers-custom/expected-bundle.js index b1974ae869..7f83bf6765 100644 --- a/test/js/samples/event-handlers-custom/expected-bundle.js +++ b/test/js/samples/event-handlers-custom/expected-bundle.js @@ -37,6 +37,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -167,6 +168,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, 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 12822a4ed3..75321963ca 100644 --- a/test/js/samples/if-block-no-update/expected-bundle.js +++ b/test/js/samples/if-block-no-update/expected-bundle.js @@ -41,6 +41,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -171,6 +172,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/if-block-simple/expected-bundle.js b/test/js/samples/if-block-simple/expected-bundle.js index 0985260579..92bf5aed5c 100644 --- a/test/js/samples/if-block-simple/expected-bundle.js +++ b/test/js/samples/if-block-simple/expected-bundle.js @@ -41,6 +41,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -171,6 +172,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/inline-style-optimized-multiple/expected-bundle.js b/test/js/samples/inline-style-optimized-multiple/expected-bundle.js index 6260246cc0..7bea076850 100644 --- a/test/js/samples/inline-style-optimized-multiple/expected-bundle.js +++ b/test/js/samples/inline-style-optimized-multiple/expected-bundle.js @@ -41,6 +41,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -171,6 +172,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/inline-style-optimized-url/expected-bundle.js b/test/js/samples/inline-style-optimized-url/expected-bundle.js index 921d377bf9..6a1b5f89c5 100644 --- a/test/js/samples/inline-style-optimized-url/expected-bundle.js +++ b/test/js/samples/inline-style-optimized-url/expected-bundle.js @@ -41,6 +41,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -171,6 +172,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/inline-style-optimized/expected-bundle.js b/test/js/samples/inline-style-optimized/expected-bundle.js index 8ddc55d215..e7d76ea3ba 100644 --- a/test/js/samples/inline-style-optimized/expected-bundle.js +++ b/test/js/samples/inline-style-optimized/expected-bundle.js @@ -41,6 +41,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -171,6 +172,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/inline-style-unoptimized/expected-bundle.js b/test/js/samples/inline-style-unoptimized/expected-bundle.js index c3ca9e6957..34f754521f 100644 --- a/test/js/samples/inline-style-unoptimized/expected-bundle.js +++ b/test/js/samples/inline-style-unoptimized/expected-bundle.js @@ -41,6 +41,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -171,6 +172,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/input-without-blowback-guard/expected-bundle.js b/test/js/samples/input-without-blowback-guard/expected-bundle.js index a7a7d25e0c..32a9f7768a 100644 --- a/test/js/samples/input-without-blowback-guard/expected-bundle.js +++ b/test/js/samples/input-without-blowback-guard/expected-bundle.js @@ -45,6 +45,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -175,6 +176,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/legacy-input-type/expected-bundle.js b/test/js/samples/legacy-input-type/expected-bundle.js index 54a4c3c02d..85417ecf34 100644 --- a/test/js/samples/legacy-input-type/expected-bundle.js +++ b/test/js/samples/legacy-input-type/expected-bundle.js @@ -43,6 +43,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -173,6 +174,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/legacy-quote-class/expected-bundle.js b/test/js/samples/legacy-quote-class/expected-bundle.js index c6f7bb8405..8b409b1a30 100644 --- a/test/js/samples/legacy-quote-class/expected-bundle.js +++ b/test/js/samples/legacy-quote-class/expected-bundle.js @@ -60,6 +60,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -190,6 +191,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/media-bindings/expected-bundle.js b/test/js/samples/media-bindings/expected-bundle.js index bdac2a8f2a..967ad676ac 100644 --- a/test/js/samples/media-bindings/expected-bundle.js +++ b/test/js/samples/media-bindings/expected-bundle.js @@ -53,6 +53,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -183,6 +184,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/non-imported-component/expected-bundle.js b/test/js/samples/non-imported-component/expected-bundle.js index fd201d65b3..d5d670e8d9 100644 --- a/test/js/samples/non-imported-component/expected-bundle.js +++ b/test/js/samples/non-imported-component/expected-bundle.js @@ -39,6 +39,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -169,6 +170,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/onrender-onteardown-rewritten/expected-bundle.js b/test/js/samples/onrender-onteardown-rewritten/expected-bundle.js index 364ee2901d..f7d07fdfc0 100644 --- a/test/js/samples/onrender-onteardown-rewritten/expected-bundle.js +++ b/test/js/samples/onrender-onteardown-rewritten/expected-bundle.js @@ -25,6 +25,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -155,6 +156,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/setup-method/expected-bundle.js b/test/js/samples/setup-method/expected-bundle.js index df267db975..c0a031a6c2 100644 --- a/test/js/samples/setup-method/expected-bundle.js +++ b/test/js/samples/setup-method/expected-bundle.js @@ -25,6 +25,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -155,6 +156,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/use-elements-as-anchors/expected-bundle.js b/test/js/samples/use-elements-as-anchors/expected-bundle.js index 272e039772..613967d7e1 100644 --- a/test/js/samples/use-elements-as-anchors/expected-bundle.js +++ b/test/js/samples/use-elements-as-anchors/expected-bundle.js @@ -49,6 +49,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -179,6 +180,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/js/samples/window-binding-scroll/expected-bundle.js b/test/js/samples/window-binding-scroll/expected-bundle.js index 3a11deb1b6..08bb2014aa 100644 --- a/test/js/samples/window-binding-scroll/expected-bundle.js +++ b/test/js/samples/window-binding-scroll/expected-bundle.js @@ -45,6 +45,7 @@ function destroy(detach) { if (detach !== false) this._fragment.u(); this._fragment.d(); this._fragment = this._state = null; + this.destroyed = true; } function differs(a, b) { @@ -175,6 +176,7 @@ function _unmount() { } var proto = { + destroyed: false, destroy: destroy, get: get, fire: fire, diff --git a/test/runtime/samples/destroyed/_config.js b/test/runtime/samples/destroyed/_config.js new file mode 100644 index 0000000000..41c6b52f24 --- /dev/null +++ b/test/runtime/samples/destroyed/_config.js @@ -0,0 +1,7 @@ +export default { + test(assert, component) { + assert.ok(!component.destroyed); + component.destroy(); + assert.ok(component.destroyed); + } +}; \ No newline at end of file diff --git a/test/runtime/samples/destroyed/main.html b/test/runtime/samples/destroyed/main.html new file mode 100644 index 0000000000..78e7012b82 --- /dev/null +++ b/test/runtime/samples/destroyed/main.html @@ -0,0 +1 @@ +
\ No newline at end of file