Sha256: 7081f67f231a40dc78a3ef282bf919b822f3b6917fe32d66e42704441c47766f
Contents?: true
Size: 1.3 KB
Versions: 1
Compression:
Stored size: 1.3 KB
Contents
import { set } from '@ember/-internals/metal'; import { Component } from '../../utils/helpers'; import { moduleFor, RenderingTest } from '../../utils/test-case'; moduleFor( 'Component willDestroyElement hook', class extends RenderingTest { ['@test it calls willDestroyElement when removed by if'](assert) { let didInsertElementCount = 0; let willDestroyElementCount = 0; let FooBarComponent = Component.extend({ didInsertElement() { didInsertElementCount++; assert.notEqual(this.element.parentNode, null, 'precond component is in DOM'); }, willDestroyElement() { willDestroyElementCount++; assert.notEqual(this.element.parentNode, null, 'has not been removed from DOM yet'); }, }); this.registerComponent('foo-bar', { ComponentClass: FooBarComponent, template: 'hello', }); this.render('{{#if switch}}{{foo-bar}}{{/if}}', { switch: true }); assert.equal(didInsertElementCount, 1, 'didInsertElement was called once'); this.assertComponentElement(this.firstChild, { content: 'hello' }); this.runTask(() => set(this.context, 'switch', false)); assert.equal(willDestroyElementCount, 1, 'willDestroyElement was called once'); this.assertText(''); } } );
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
discourse-ember-source-3.6.0.0 | dist/es/@ember/-internals/glimmer/tests/integration/components/will-destroy-element-hook-test.js |