Skip to content

Commit 42f3ea9

Browse files
committed
test: Add a couple of test cases
1 parent fea5e4b commit 42f3ea9

File tree

1 file changed

+68
-2
lines changed

1 file changed

+68
-2
lines changed

test/browser/index.test.jsx

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,11 +280,40 @@ describe('web components', () => {
280280
);
281281
});
282282

283+
it('supports controlling light DOM with other custom elements', () => {
284+
function Parent({ children }) {
285+
return (
286+
<Fragment>
287+
<h1>Light DOM Children</h1>
288+
<div>{children}</div>
289+
</Fragment>
290+
);
291+
}
292+
293+
function Child() {
294+
return <p>Child</p>;
295+
}
296+
297+
registerElement(Parent, 'light-dom-children-parent', []);
298+
registerElement(Child, 'light-dom-children-child', []);
299+
300+
const parent = document.createElement('light-dom-children-parent');
301+
const child = document.createElement('light-dom-children-child');
302+
303+
parent.appendChild(child);
304+
root.appendChild(parent);
305+
306+
assert.equal(
307+
document.querySelector('light-dom-children-parent').innerHTML,
308+
'<h1>Light DOM Children</h1><div><light-dom-children-child><p>Child</p></light-dom-children-child></div>'
309+
);
310+
});
311+
283312
it('supports controlling shadow DOM children', () => {
284313
function ShadowDomChildren({ children }) {
285314
return (
286315
<Fragment>
287-
<h1>Light DOM Children</h1>
316+
<h1>Shadow DOM Children</h1>
288317
<div>{children}</div>
289318
</Fragment>
290319
);
@@ -298,8 +327,45 @@ describe('web components', () => {
298327

299328
assert.equal(
300329
document.querySelector('shadow-dom-children').shadowRoot.innerHTML,
301-
'<h1>Light DOM Children</h1><div><slot><p>Child 1</p><p>Child 2</p></slot></div>'
330+
'<h1>Shadow DOM Children</h1><div><slot><p>Child 1</p><p>Child 2</p></slot></div>'
331+
);
332+
});
333+
334+
it('supports controlling shadow DOM with other custom elements', () => {
335+
function Parent({ children }) {
336+
return (
337+
<Fragment>
338+
<h1>Shadow DOM Children</h1>
339+
<div>{children}</div>
340+
</Fragment>
341+
);
342+
}
343+
344+
function Child() {
345+
return <p>Child</p>;
346+
}
347+
348+
registerElement(Parent, 'shadow-dom-children-parent', [], {
349+
shadow: true,
350+
});
351+
registerElement(Child, 'shadow-dom-children-child', [], {
352+
shadow: true,
353+
});
354+
355+
const parent = document.createElement('shadow-dom-children-parent');
356+
const child = document.createElement('shadow-dom-children-child');
357+
358+
parent.appendChild(child);
359+
root.appendChild(parent);
360+
361+
const getShadowHTML = (selector) =>
362+
document.querySelector(selector).shadowRoot.innerHTML;
363+
364+
assert.equal(
365+
getShadowHTML('shadow-dom-children-parent'),
366+
'<h1>Shadow DOM Children</h1><div><slot><shadow-dom-children-child></shadow-dom-children-child></slot></div>'
302367
);
368+
assert.equal(getShadowHTML('shadow-dom-children-child'), '<p>Child</p>');
303369
});
304370
});
305371

0 commit comments

Comments
 (0)