diff options
Diffstat (limited to 'addons/web/static/tests/owl_compatibility_tests.js')
| -rw-r--r-- | addons/web/static/tests/owl_compatibility_tests.js | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/addons/web/static/tests/owl_compatibility_tests.js b/addons/web/static/tests/owl_compatibility_tests.js index a4f453867cf..7be3b17b857 100644 --- a/addons/web/static/tests/owl_compatibility_tests.js +++ b/addons/web/static/tests/owl_compatibility_tests.js @@ -12,6 +12,9 @@ odoo.define('web.OwlCompatibilityTests', function (require) { const { Component, tags, useState } = owl; const { xml } = tags; + // from Owl internal status enum + const ISMOUNTED = 3; + const ISDESTROYED = 5; const WidgetAdapter = Widget.extend(WidgetAdapterMixin, { destroy() { @@ -883,19 +886,19 @@ odoo.define('web.OwlCompatibilityTests', function (require) { await widget.appendTo(target); assert.verifySteps(['init', 'willStart', 'mounted']); - assert.ok(component.__owl__.isMounted); + assert.ok(component.__owl__.status === ISMOUNTED); widget.$el.detach(); widget.on_detach_callback(); assert.verifySteps(['willUnmount']); - assert.ok(!component.__owl__.isMounted); + assert.ok(component.__owl__.status !== ISMOUNTED); widget.$el.appendTo(target); widget.on_attach_callback(); assert.verifySteps(['mounted']); - assert.ok(component.__owl__.isMounted); + assert.ok(component.__owl__.status === ISMOUNTED); widget.destroy(); @@ -903,7 +906,7 @@ odoo.define('web.OwlCompatibilityTests', function (require) { }); QUnit.test("isMounted with several sub components", async function (assert) { - assert.expect(11); + assert.expect(9); let c1; let c2; @@ -922,31 +925,29 @@ odoo.define('web.OwlCompatibilityTests', function (require) { await widget.appendTo(target); assert.strictEqual(widget.el.innerHTML, '<div>Component 1</div><div>Component 2</div>'); - assert.ok(c1.__owl__.isMounted); - assert.ok(c2.__owl__.isMounted); + assert.ok(c1.__owl__.status === ISMOUNTED); + assert.ok(c2.__owl__.status === ISMOUNTED); widget.$el.detach(); widget.on_detach_callback(); - assert.ok(!c1.__owl__.isMounted); - assert.ok(!c2.__owl__.isMounted); + assert.ok(c1.__owl__.status !== ISMOUNTED); + assert.ok(c2.__owl__.status !== ISMOUNTED); widget.$el.appendTo(target); widget.on_attach_callback(); - assert.ok(c1.__owl__.isMounted); - assert.ok(c2.__owl__.isMounted); + assert.ok(c1.__owl__.status === ISMOUNTED); + assert.ok(c2.__owl__.status === ISMOUNTED); widget.destroy(); - assert.ok(!c1.__owl__.isMounted); - assert.ok(!c2.__owl__.isMounted); - assert.ok(c1.__owl__.isDestroyed); - assert.ok(c2.__owl__.isDestroyed); + assert.ok(c1.__owl__.status === ISDESTROYED); + assert.ok(c2.__owl__.status === ISDESTROYED); }); QUnit.test("isMounted with several levels of sub components", async function (assert) { - assert.expect(6); + assert.expect(5); let child; class MyChildComponent extends Component { @@ -971,22 +972,21 @@ odoo.define('web.OwlCompatibilityTests', function (require) { await widget.appendTo(target); assert.strictEqual(widget.el.innerHTML, '<div><div>child</div></div>'); - assert.ok(child.__owl__.isMounted); + assert.ok(child.__owl__.status === ISMOUNTED); widget.$el.detach(); widget.on_detach_callback(); - assert.ok(!child.__owl__.isMounted); + assert.ok(child.__owl__.status !== ISMOUNTED); widget.$el.appendTo(target); widget.on_attach_callback(); - assert.ok(child.__owl__.isMounted); + assert.ok(child.__owl__.status === ISMOUNTED); widget.destroy(); - assert.ok(!child.__owl__.isMounted); - assert.ok(child.__owl__.isDestroyed); + assert.ok(child.__owl__.status === ISDESTROYED); }); QUnit.test("sub component can be updated (in DOM)", async function (assert) { @@ -1041,14 +1041,14 @@ odoo.define('web.OwlCompatibilityTests', function (require) { widget.$el.detach(); widget.on_detach_callback(); - assert.ok(!widget.component.__owl__.isMounted); + assert.ok(widget.component.__owl__.status !== ISMOUNTED); await widget.update(); widget.$el.appendTo(target); widget.on_attach_callback(); - assert.ok(widget.component.__owl__.isMounted); + assert.ok(widget.component.__owl__.status === ISMOUNTED); assert.strictEqual(widget.el.innerHTML, '<div>Component 2</div>'); widget.destroy(); |
