-
Notifications
You must be signed in to change notification settings - Fork 3
/
shadowroot-test.gts
61 lines (60 loc) · 2.17 KB
/
shadowroot-test.gts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import { module, test } from 'qunit';
import { render } from '@lfieart/gxt/test-utils';
module('Integration | InternalComponent | shadowroot', function () {
test('it works for element helper [closed]', async function (assert) {
await render(
<template>
{{#let (element 'secret-content') as |MySecret|}}
<MySecret shadowrootmode='closed'>
<span data-test>foo</span>
</MySecret>
{{/let}}
</template>,
);
assert.dom('span[data-test]').doesNotExist();
const root = document.querySelector('secret-content')!;
// @ts-expect-error ShadowRoot is not en Element
assert.dom('span[data-test]', root.shadowRoot).doesNotExist();
});
test('it works for element helper [open]', async function (assert) {
await render(
<template>
{{#let (element 'secret-content') as |MySecret|}}
<MySecret shadowrootmode='open'>
<span data-test>foo</span>
</MySecret>
{{/let}}
</template>,
);
assert.dom('span[data-test]').doesNotExist();
const root = document.querySelector('secret-content')!;
// @ts-expect-error ShadowRoot is not en Element
assert.dom('span[data-test]', root.shadowRoot).exists();
});
test('it works for [div] html element [closed]', async function (assert) {
await render(
<template>
<div data-test-root-div shadowrootmode='closed'>
<span data-test>foo</span>
</div>
</template>,
);
assert.dom('span[data-test]').doesNotExist();
const root = document.querySelector('[data-test-root-div]')!;
// @ts-expect-error ShadowRoot is not en Element
assert.dom('span[data-test]', root.shadowRoot).doesNotExist();
});
test('it works for [div] html element [open]', async function (assert) {
await render(
<template>
<div data-test-root-div shadowrootmode='open'>
<span data-test>foo</span>
</div>
</template>,
);
assert.dom('span[data-test]').doesNotExist();
const root = document.querySelector('[data-test-root-div]')!;
// @ts-expect-error ShadowRoot is not en Element
assert.dom('span[data-test]', root.shadowRoot).exists();
});
});