|
1 | 1 | /* eslint-disable ember/no-classic-classes */ |
2 | | -import { click, find, rerender, triggerEvent, visit } from "@ember/test-helpers"; |
3 | | -import hasEmberVersion from "@ember/test-helpers/has-ember-version"; |
4 | | -import { A } from "@ember/array"; |
5 | | -import { run } from "@ember/runloop"; |
| 2 | +import { |
| 3 | + click, |
| 4 | + find, |
| 5 | + rerender, |
| 6 | + triggerEvent, |
| 7 | + visit, |
| 8 | +} from '@ember/test-helpers'; |
| 9 | +import hasEmberVersion from '@ember/test-helpers/has-ember-version'; |
| 10 | +import { A } from '@ember/array'; |
| 11 | +import { run } from '@ember/runloop'; |
6 | 12 | // eslint-disable-next-line ember/no-classic-components |
7 | | -import EmberComponent, { setComponentTemplate } from "@ember/component"; |
8 | | -import EmberRoute from "@ember/routing/route"; |
9 | | -import EmberObject from "@ember/object"; |
10 | | -import Controller from "@ember/controller"; |
| 13 | +import EmberComponent, { setComponentTemplate } from '@ember/component'; |
| 14 | +import EmberRoute from '@ember/routing/route'; |
| 15 | +import EmberObject from '@ember/object'; |
| 16 | +import Controller from '@ember/controller'; |
11 | 17 | // eslint-disable-next-line ember/no-at-ember-render-modifiers |
12 | | -import didInsert from "@ember/render-modifiers/modifiers/did-insert"; |
13 | | -import QUnit, { module, test } from "qunit"; |
14 | | -import { hbs } from "ember-cli-htmlbars"; |
15 | | -import EmberDebug from "ember-debug/main"; |
16 | | -import setupEmberDebugTest from "../helpers/setup-ember-debug-test"; |
17 | | -import { isInVersionSpecifier } from "ember-debug/version"; |
18 | | -import { VERSION } from "ember-debug/ember"; |
19 | | -import GlimmerComponent from "@glimmer/component"; |
20 | | -import { tracked } from "@glimmer/tracking"; |
| 18 | +import didInsert from '@ember/render-modifiers/modifiers/did-insert'; |
| 19 | +import QUnit, { module, test } from 'qunit'; |
| 20 | +import { hbs } from 'ember-cli-htmlbars'; |
| 21 | +import EmberDebug from 'ember-debug/main'; |
| 22 | +import setupEmberDebugTest from '../helpers/setup-ember-debug-test'; |
| 23 | +import { isInVersionSpecifier } from 'ember-debug/version'; |
| 24 | +import { VERSION } from 'ember-debug/ember'; |
| 25 | +import GlimmerComponent from '@glimmer/component'; |
| 26 | +import { tracked } from '@glimmer/tracking'; |
21 | 27 |
|
22 | 28 | let templateOnlyComponent = null; |
23 | 29 | try { |
@@ -513,9 +519,10 @@ module('Ember Debug - View', function (hooks) { |
513 | 519 | ), |
514 | 520 | class extends GlimmerComponent { |
515 | 521 | @tracked shadow; |
516 | | - setupRoot(element) { |
| 522 | + setupRoot = (element) => { |
517 | 523 | this.shadow = element.attachShadow({ mode: 'open' }); |
518 | | - } |
| 524 | + window.testShadow = this.shadow; |
| 525 | + }; |
519 | 526 | }, |
520 | 527 | ), |
521 | 528 | ); |
@@ -658,7 +665,7 @@ module('Ember Debug - View', function (hooks) { |
658 | 665 |
|
659 | 666 | this.owner.register( |
660 | 667 | 'template:component-in-shadow-dom', |
661 | | - hbs('<ShadoDom><TestFoo /></ShadoDom>', { |
| 668 | + hbs('<ShadowDom><TestFoo /></ShadowDom>', { |
662 | 669 | moduleName: 'my-app/templates/component-in-shadow-dom.hbs', |
663 | 670 | }), |
664 | 671 | ); |
@@ -1230,20 +1237,27 @@ module('Ember Debug - View', function (hooks) { |
1230 | 1237 | }); |
1231 | 1238 |
|
1232 | 1239 | test('component inside shadow dom', async function (assert) { |
| 1240 | + if (isInVersionSpecifier('^5.8.0', VERSION)) { |
| 1241 | + assert.expect(2); |
| 1242 | + return; |
| 1243 | + } |
1233 | 1244 | await visit('component-in-shadow-dom'); |
1234 | 1245 | await rerender(); |
1235 | 1246 | await getRenderTree(); |
1236 | 1247 |
|
1237 | | - inElement = find('.simple-component'); |
| 1248 | + const inShadow = window.testShadow.querySelector('.simple-component'); |
1238 | 1249 |
|
1239 | | - await click('.simple-component'); |
| 1250 | + await click(window.testShadow.host, { |
| 1251 | + clientX: inShadow.getBoundingClientRect().x, |
| 1252 | + clientY: inShadow.getBoundingClientRect().y, |
| 1253 | + }); |
1240 | 1254 |
|
1241 | 1255 | assert |
1242 | 1256 | .dom('.ember-inspector-tooltip-header', tooltip) |
1243 | 1257 | .hasText('<TestFoo>'); |
1244 | 1258 |
|
1245 | 1259 | let actual = highlight.getBoundingClientRect(); |
1246 | | - let expected = inElement.getBoundingClientRect(); |
| 1260 | + let expected = inShadow.getBoundingClientRect(); |
1247 | 1261 |
|
1248 | 1262 | assert.ok(isVisible(tooltip), 'tooltip is visible'); |
1249 | 1263 | assert.ok(isVisible(highlight), 'highlight is visible'); |
|
0 commit comments