@livetemplate/client 0.11.3 → 0.11.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dom/directives.d.ts +85 -0
- package/dist/dom/directives.d.ts.map +1 -1
- package/dist/dom/directives.js +337 -1
- package/dist/dom/directives.js.map +1 -1
- package/dist/dom/loading-indicator.d.ts +33 -0
- package/dist/dom/loading-indicator.d.ts.map +1 -1
- package/dist/dom/loading-indicator.js +107 -0
- package/dist/dom/loading-indicator.js.map +1 -1
- package/dist/livetemplate-client.browser.js +5 -5
- package/dist/livetemplate-client.browser.js.map +3 -3
- package/dist/livetemplate-client.d.ts.map +1 -1
- package/dist/livetemplate-client.js +49 -0
- package/dist/livetemplate-client.js.map +1 -1
- package/dist/tests/directives.test.js +512 -0
- package/dist/tests/directives.test.js.map +1 -1
- package/dist/tests/loading-indicator.test.js +150 -0
- package/dist/tests/loading-indicator.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -150,6 +150,81 @@ describe("handleScrollDirectives", () => {
|
|
|
150
150
|
(0, directives_1.handleScrollDirectives)(document.body);
|
|
151
151
|
expect(scrollToSpy).not.toHaveBeenCalled();
|
|
152
152
|
});
|
|
153
|
+
describe("reset-on:<attr>", () => {
|
|
154
|
+
it("resets scrollLeft and scrollTop when watched attribute changes", () => {
|
|
155
|
+
document.body.innerHTML = `<div id="container" lvt-fx:scroll="reset-on:data-path" data-path="a.go"></div>`;
|
|
156
|
+
const container = document.getElementById("container");
|
|
157
|
+
(0, directives_1.handleScrollDirectives)(document.body); // first paint — establishes prior
|
|
158
|
+
container.scrollLeft = 200;
|
|
159
|
+
container.scrollTop = 80;
|
|
160
|
+
(0, directives_1.handleScrollDirectives)(document.body); // same value — no reset
|
|
161
|
+
expect(container.scrollLeft).toBe(200);
|
|
162
|
+
expect(container.scrollTop).toBe(80);
|
|
163
|
+
container.setAttribute("data-path", "b.go");
|
|
164
|
+
(0, directives_1.handleScrollDirectives)(document.body);
|
|
165
|
+
expect(container.scrollLeft).toBe(0);
|
|
166
|
+
expect(container.scrollTop).toBe(0);
|
|
167
|
+
});
|
|
168
|
+
it("preserves scroll on first paint (does not clobber pre-existing position)", () => {
|
|
169
|
+
// Caller might have restored scroll from a session, deep link, or
|
|
170
|
+
// anchor jump before the first directive sweep. The directive's
|
|
171
|
+
// semantic is "reset on *change*" — establishing the prior on the
|
|
172
|
+
// very first observation must not itself trigger a reset.
|
|
173
|
+
document.body.innerHTML = `<div id="container" lvt-fx:scroll="reset-on:data-path" data-path="a.go"></div>`;
|
|
174
|
+
const container = document.getElementById("container");
|
|
175
|
+
container.scrollLeft = 120;
|
|
176
|
+
container.scrollTop = 40;
|
|
177
|
+
(0, directives_1.handleScrollDirectives)(document.body); // first paint
|
|
178
|
+
expect(container.scrollLeft).toBe(120);
|
|
179
|
+
expect(container.scrollTop).toBe(40);
|
|
180
|
+
});
|
|
181
|
+
it("preserves scroll when watched attribute is unchanged across renders", () => {
|
|
182
|
+
document.body.innerHTML = `<div id="container" lvt-fx:scroll="reset-on:data-path" data-path="a.go"></div>`;
|
|
183
|
+
const container = document.getElementById("container");
|
|
184
|
+
(0, directives_1.handleScrollDirectives)(document.body);
|
|
185
|
+
container.scrollLeft = 50;
|
|
186
|
+
container.scrollTop = 25;
|
|
187
|
+
for (let i = 0; i < 5; i++)
|
|
188
|
+
(0, directives_1.handleScrollDirectives)(document.body);
|
|
189
|
+
expect(container.scrollLeft).toBe(50);
|
|
190
|
+
expect(container.scrollTop).toBe(25);
|
|
191
|
+
});
|
|
192
|
+
it("treats attribute-absent → present as a change (and vice versa)", () => {
|
|
193
|
+
document.body.innerHTML = `<div id="container" lvt-fx:scroll="reset-on:data-path"></div>`;
|
|
194
|
+
const container = document.getElementById("container");
|
|
195
|
+
(0, directives_1.handleScrollDirectives)(document.body); // prior=null
|
|
196
|
+
container.scrollLeft = 100;
|
|
197
|
+
(0, directives_1.handleScrollDirectives)(document.body); // still null → no reset
|
|
198
|
+
expect(container.scrollLeft).toBe(100);
|
|
199
|
+
container.setAttribute("data-path", "a.go"); // null → "a.go" is a change
|
|
200
|
+
(0, directives_1.handleScrollDirectives)(document.body);
|
|
201
|
+
expect(container.scrollLeft).toBe(0);
|
|
202
|
+
container.scrollLeft = 150;
|
|
203
|
+
container.removeAttribute("data-path"); // "a.go" → null is a change
|
|
204
|
+
(0, directives_1.handleScrollDirectives)(document.body);
|
|
205
|
+
expect(container.scrollLeft).toBe(0);
|
|
206
|
+
});
|
|
207
|
+
it("warns when no attribute name is supplied (reset-on:)", () => {
|
|
208
|
+
document.body.innerHTML = `<div id="container" lvt-fx:scroll="reset-on:"></div>`;
|
|
209
|
+
(0, directives_1.handleScrollDirectives)(document.body);
|
|
210
|
+
expect(console.warn).toHaveBeenCalledWith(`lvt-fx:scroll="reset-on:" requires an attribute name`);
|
|
211
|
+
});
|
|
212
|
+
it("tracks each element independently", () => {
|
|
213
|
+
document.body.innerHTML = `
|
|
214
|
+
<div id="a" lvt-fx:scroll="reset-on:data-path" data-path="x.go"></div>
|
|
215
|
+
<div id="b" lvt-fx:scroll="reset-on:data-path" data-path="y.go"></div>
|
|
216
|
+
`;
|
|
217
|
+
const a = document.getElementById("a");
|
|
218
|
+
const b = document.getElementById("b");
|
|
219
|
+
(0, directives_1.handleScrollDirectives)(document.body);
|
|
220
|
+
a.scrollLeft = 10;
|
|
221
|
+
b.scrollLeft = 20;
|
|
222
|
+
a.setAttribute("data-path", "z.go"); // only a changes
|
|
223
|
+
(0, directives_1.handleScrollDirectives)(document.body);
|
|
224
|
+
expect(a.scrollLeft).toBe(0);
|
|
225
|
+
expect(b.scrollLeft).toBe(20);
|
|
226
|
+
});
|
|
227
|
+
});
|
|
153
228
|
});
|
|
154
229
|
describe("handleHighlightDirectives", () => {
|
|
155
230
|
beforeEach(() => {
|
|
@@ -388,4 +463,441 @@ describe("setupFxDOMEventTriggers", () => {
|
|
|
388
463
|
expect(trigger.style.backgroundColor).toBe("");
|
|
389
464
|
});
|
|
390
465
|
});
|
|
466
|
+
describe("handleAutoClickDirectives", () => {
|
|
467
|
+
beforeEach(() => {
|
|
468
|
+
document.body.innerHTML = "";
|
|
469
|
+
jest.useFakeTimers();
|
|
470
|
+
jest.spyOn(console, "warn").mockImplementation(() => { });
|
|
471
|
+
(0, directives_1.__resetAnimatedElementsForTesting)();
|
|
472
|
+
});
|
|
473
|
+
afterEach(() => {
|
|
474
|
+
(0, directives_1.__resetAnimatedElementsForTesting)();
|
|
475
|
+
jest.useRealTimers();
|
|
476
|
+
jest.restoreAllMocks();
|
|
477
|
+
});
|
|
478
|
+
it("fires a click on the named descendant button after the delay", () => {
|
|
479
|
+
document.body.innerHTML = `
|
|
480
|
+
<div class="toast" lvt-fx:auto-click="5000:dismissBanner">
|
|
481
|
+
Saved
|
|
482
|
+
<button name="dismissBanner">×</button>
|
|
483
|
+
</div>
|
|
484
|
+
`;
|
|
485
|
+
const btn = document.querySelector('button[name="dismissBanner"]');
|
|
486
|
+
const clickSpy = jest.spyOn(btn, "click");
|
|
487
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
488
|
+
expect(clickSpy).not.toHaveBeenCalled();
|
|
489
|
+
jest.advanceTimersByTime(4999);
|
|
490
|
+
expect(clickSpy).not.toHaveBeenCalled();
|
|
491
|
+
jest.advanceTimersByTime(1);
|
|
492
|
+
expect(clickSpy).toHaveBeenCalledTimes(1);
|
|
493
|
+
});
|
|
494
|
+
it("does not re-arm on subsequent renders with the same spec", () => {
|
|
495
|
+
document.body.innerHTML = `
|
|
496
|
+
<div id="toast" lvt-fx:auto-click="100:dismiss">
|
|
497
|
+
<button name="dismiss">×</button>
|
|
498
|
+
</div>
|
|
499
|
+
`;
|
|
500
|
+
const btn = document.querySelector('button[name="dismiss"]');
|
|
501
|
+
const clickSpy = jest.spyOn(btn, "click");
|
|
502
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
503
|
+
jest.advanceTimersByTime(50);
|
|
504
|
+
(0, directives_1.handleAutoClickDirectives)(document.body); // re-render mid-wait
|
|
505
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
506
|
+
jest.advanceTimersByTime(50);
|
|
507
|
+
expect(clickSpy).toHaveBeenCalledTimes(1);
|
|
508
|
+
});
|
|
509
|
+
it("does not re-fire when element stays in DOM after timer fires", () => {
|
|
510
|
+
// Race: timer fires (sends action via .click()), but the server
|
|
511
|
+
// hasn't yet removed the toast element. A render pass landing
|
|
512
|
+
// before the response would re-arm a fresh timer if the post-fire
|
|
513
|
+
// map entry were cleared, causing a second .click() — silently
|
|
514
|
+
// double-firing the action. Map entry must persist past fire.
|
|
515
|
+
document.body.innerHTML = `
|
|
516
|
+
<div id="toast" lvt-fx:auto-click="100:dismiss">
|
|
517
|
+
<button name="dismiss">×</button>
|
|
518
|
+
</div>
|
|
519
|
+
`;
|
|
520
|
+
const btn = document.querySelector('button[name="dismiss"]');
|
|
521
|
+
const clickSpy = jest.spyOn(btn, "click");
|
|
522
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
523
|
+
jest.advanceTimersByTime(100); // fires
|
|
524
|
+
expect(clickSpy).toHaveBeenCalledTimes(1);
|
|
525
|
+
// Server hasn't responded yet — re-render passes happen.
|
|
526
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
527
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
528
|
+
jest.advanceTimersByTime(500);
|
|
529
|
+
expect(clickSpy).toHaveBeenCalledTimes(1);
|
|
530
|
+
});
|
|
531
|
+
it("cancels timer when the element is removed before firing", () => {
|
|
532
|
+
document.body.innerHTML = `
|
|
533
|
+
<div id="toast" lvt-fx:auto-click="100:dismiss">
|
|
534
|
+
<button name="dismiss">×</button>
|
|
535
|
+
</div>
|
|
536
|
+
`;
|
|
537
|
+
const toast = document.getElementById("toast");
|
|
538
|
+
const btn = toast.querySelector('button[name="dismiss"]');
|
|
539
|
+
const clickSpy = jest.spyOn(btn, "click");
|
|
540
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
541
|
+
toast.remove();
|
|
542
|
+
jest.advanceTimersByTime(500);
|
|
543
|
+
expect(clickSpy).not.toHaveBeenCalled();
|
|
544
|
+
});
|
|
545
|
+
it("cancels timer when attribute is removed while element stays connected", () => {
|
|
546
|
+
// Server resolves the toast's state (e.g. clears DoneWritten) without
|
|
547
|
+
// removing the wrapper element. Without the attribute sweep, the
|
|
548
|
+
// pending timer would still fire and click a button on a banner the
|
|
549
|
+
// server already considers dismissed.
|
|
550
|
+
document.body.innerHTML = `
|
|
551
|
+
<div id="toast" lvt-fx:auto-click="100:dismiss">
|
|
552
|
+
<button name="dismiss">×</button>
|
|
553
|
+
</div>
|
|
554
|
+
`;
|
|
555
|
+
const toast = document.getElementById("toast");
|
|
556
|
+
const btn = toast.querySelector('button[name="dismiss"]');
|
|
557
|
+
const clickSpy = jest.spyOn(btn, "click");
|
|
558
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
559
|
+
toast.removeAttribute("lvt-fx:auto-click"); // server cleared intent
|
|
560
|
+
(0, directives_1.handleAutoClickDirectives)(document.body); // next render's sweep
|
|
561
|
+
jest.advanceTimersByTime(500);
|
|
562
|
+
expect(clickSpy).not.toHaveBeenCalled();
|
|
563
|
+
});
|
|
564
|
+
it("re-arms with new spec when delay or button-name changes", () => {
|
|
565
|
+
document.body.innerHTML = `
|
|
566
|
+
<div id="toast" lvt-fx:auto-click="1000:dismiss">
|
|
567
|
+
<button name="dismiss">×</button>
|
|
568
|
+
</div>
|
|
569
|
+
`;
|
|
570
|
+
const toast = document.getElementById("toast");
|
|
571
|
+
const btn = toast.querySelector('button[name="dismiss"]');
|
|
572
|
+
const clickSpy = jest.spyOn(btn, "click");
|
|
573
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
574
|
+
jest.advanceTimersByTime(500);
|
|
575
|
+
toast.setAttribute("lvt-fx:auto-click", "200:dismiss");
|
|
576
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
577
|
+
jest.advanceTimersByTime(199);
|
|
578
|
+
expect(clickSpy).not.toHaveBeenCalled();
|
|
579
|
+
jest.advanceTimersByTime(1);
|
|
580
|
+
expect(clickSpy).toHaveBeenCalledTimes(1);
|
|
581
|
+
});
|
|
582
|
+
it("warns on malformed spec", () => {
|
|
583
|
+
const malformed = [
|
|
584
|
+
"just-text", // no colon
|
|
585
|
+
"abc:dismiss", // non-numeric delay
|
|
586
|
+
"100:", // empty name
|
|
587
|
+
"200abc:dismiss", // trailing junk on delay — parseInt would lenient-accept 200
|
|
588
|
+
"12.5:dismiss", // float — \d+ rejects the dot
|
|
589
|
+
"-100:dismiss", // negative — \d+ rejects the sign
|
|
590
|
+
];
|
|
591
|
+
for (const spec of malformed) {
|
|
592
|
+
console.warn.mockClear();
|
|
593
|
+
document.body.innerHTML = `<div lvt-fx:auto-click="${spec}"></div>`;
|
|
594
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
595
|
+
expect(console.warn).toHaveBeenCalledWith(expect.stringContaining("lvt-fx:auto-click expects"));
|
|
596
|
+
}
|
|
597
|
+
});
|
|
598
|
+
it("ignores when no descendant matches the named selector", () => {
|
|
599
|
+
document.body.innerHTML = `<div lvt-fx:auto-click="100:noSuchButton"></div>`;
|
|
600
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
601
|
+
expect(() => jest.advanceTimersByTime(500)).not.toThrow();
|
|
602
|
+
});
|
|
603
|
+
it("accepts digit-prefixed button names", () => {
|
|
604
|
+
// HTML permits names like "1-dismiss". The regex was tightened to
|
|
605
|
+
// `^[\w-]+$` so this no longer fails.
|
|
606
|
+
document.body.innerHTML = `
|
|
607
|
+
<div lvt-fx:auto-click="100:1-dismiss">
|
|
608
|
+
<button name="1-dismiss">×</button>
|
|
609
|
+
</div>
|
|
610
|
+
`;
|
|
611
|
+
const btn = document.querySelector('button[name="1-dismiss"]');
|
|
612
|
+
const clickSpy = jest.spyOn(btn, "click");
|
|
613
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
614
|
+
jest.advanceTimersByTime(100);
|
|
615
|
+
expect(clickSpy).toHaveBeenCalledTimes(1);
|
|
616
|
+
});
|
|
617
|
+
it("teardownAutoClickTimers cancels all armed timers", () => {
|
|
618
|
+
document.body.innerHTML = `
|
|
619
|
+
<div id="t1" lvt-fx:auto-click="100:dismiss">
|
|
620
|
+
<button name="dismiss">×</button>
|
|
621
|
+
</div>
|
|
622
|
+
<div id="t2" lvt-fx:auto-click="200:dismiss">
|
|
623
|
+
<button name="dismiss">×</button>
|
|
624
|
+
</div>
|
|
625
|
+
`;
|
|
626
|
+
const btns = Array.from(document.querySelectorAll('button[name="dismiss"]'));
|
|
627
|
+
const spies = btns.map((b) => jest.spyOn(b, "click"));
|
|
628
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
629
|
+
(0, directives_1.teardownAutoClickTimers)();
|
|
630
|
+
jest.advanceTimersByTime(500);
|
|
631
|
+
for (const spy of spies)
|
|
632
|
+
expect(spy).not.toHaveBeenCalled();
|
|
633
|
+
});
|
|
634
|
+
it("does not match non-button elements with the same name", () => {
|
|
635
|
+
// The selector is scoped to `button[name=...]` — a checkbox or text
|
|
636
|
+
// input with the same name would otherwise get .click()ed with
|
|
637
|
+
// surprising side effects (toggle / focus) unrelated to the
|
|
638
|
+
// action-submission semantic the directive promises.
|
|
639
|
+
document.body.innerHTML = `
|
|
640
|
+
<div lvt-fx:auto-click="100:dismiss">
|
|
641
|
+
<input type="checkbox" name="dismiss">
|
|
642
|
+
</div>
|
|
643
|
+
`;
|
|
644
|
+
const cb = document.querySelector('input[name="dismiss"]');
|
|
645
|
+
const clickSpy = jest.spyOn(cb, "click");
|
|
646
|
+
(0, directives_1.handleAutoClickDirectives)(document.body);
|
|
647
|
+
jest.advanceTimersByTime(500);
|
|
648
|
+
expect(clickSpy).not.toHaveBeenCalled();
|
|
649
|
+
});
|
|
650
|
+
});
|
|
651
|
+
describe("handleShadowRootHydration", () => {
|
|
652
|
+
beforeEach(() => {
|
|
653
|
+
document.body.innerHTML = "";
|
|
654
|
+
});
|
|
655
|
+
it("attaches an open shadow root and moves template content into it", () => {
|
|
656
|
+
document.body.innerHTML = `
|
|
657
|
+
<div id="host">
|
|
658
|
+
<template shadowrootmode="open"><span class="inner">hi</span></template>
|
|
659
|
+
</div>
|
|
660
|
+
`;
|
|
661
|
+
const host = document.getElementById("host");
|
|
662
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
663
|
+
expect(host.shadowRoot).not.toBeNull();
|
|
664
|
+
expect(host.shadowRoot.querySelector(".inner")?.textContent).toBe("hi");
|
|
665
|
+
// Template should be gone — leaving it would re-trigger the hook
|
|
666
|
+
// on every subsequent render.
|
|
667
|
+
expect(host.querySelector("template")).toBeNull();
|
|
668
|
+
});
|
|
669
|
+
it("honors shadowrootmode='closed'", () => {
|
|
670
|
+
document.body.innerHTML = `
|
|
671
|
+
<div id="host">
|
|
672
|
+
<template shadowrootmode="closed"><span>x</span></template>
|
|
673
|
+
</div>
|
|
674
|
+
`;
|
|
675
|
+
const host = document.getElementById("host");
|
|
676
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
677
|
+
// Closed shadow root: parent.shadowRoot stays null per spec, but
|
|
678
|
+
// the template still gets consumed.
|
|
679
|
+
expect(host.shadowRoot).toBeNull();
|
|
680
|
+
expect(host.querySelector("template")).toBeNull();
|
|
681
|
+
});
|
|
682
|
+
it("is a no-op when there are no shadowroot templates", () => {
|
|
683
|
+
document.body.innerHTML = `<div><p>nothing here</p></div>`;
|
|
684
|
+
const before = document.body.innerHTML;
|
|
685
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
686
|
+
expect(document.body.innerHTML).toBe(before);
|
|
687
|
+
});
|
|
688
|
+
it("replaces existing shadow content on re-hydration in closed mode (WeakMap fallback)", () => {
|
|
689
|
+
// parent.shadowRoot is null for closed roots by spec, so a re-render
|
|
690
|
+
// would otherwise re-call attachShadow, throw NotSupportedError, and
|
|
691
|
+
// silently drop the new content. The WeakMap side-channel locates
|
|
692
|
+
// the prior root so replaceChildren actually updates it.
|
|
693
|
+
document.body.innerHTML = `
|
|
694
|
+
<div id="host">
|
|
695
|
+
<template shadowrootmode="closed"><span class="round">1</span></template>
|
|
696
|
+
</div>
|
|
697
|
+
`;
|
|
698
|
+
const host = document.getElementById("host");
|
|
699
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
700
|
+
expect(host.shadowRoot).toBeNull(); // closed — spec confirms
|
|
701
|
+
// The directive's WeakMap holds the closed root; we can't observe
|
|
702
|
+
// its content via host.shadowRoot, but we CAN verify (a) the
|
|
703
|
+
// re-render path doesn't throw, (b) the template gets consumed,
|
|
704
|
+
// and (c) the template's content left the light DOM — together,
|
|
705
|
+
// strong evidence the content moved into the cached shadow root
|
|
706
|
+
// rather than vanishing or staying parked as an inert template
|
|
707
|
+
// (the exact failure mode pre-fix).
|
|
708
|
+
host.innerHTML = `<template shadowrootmode="closed"><span class="round">2</span></template>`;
|
|
709
|
+
expect(() => (0, directives_1.handleShadowRootHydration)(document.body)).not.toThrow();
|
|
710
|
+
expect(host.querySelector("template")).toBeNull();
|
|
711
|
+
expect(host.children.length).toBe(0); // content lives in shadow, not light DOM
|
|
712
|
+
});
|
|
713
|
+
it("replaces existing shadow content on re-hydration (server re-render)", () => {
|
|
714
|
+
document.body.innerHTML = `
|
|
715
|
+
<div id="host">
|
|
716
|
+
<template shadowrootmode="open"><span>first</span></template>
|
|
717
|
+
</div>
|
|
718
|
+
`;
|
|
719
|
+
const host = document.getElementById("host");
|
|
720
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
721
|
+
expect(host.shadowRoot.querySelector("span")?.textContent).toBe("first");
|
|
722
|
+
// Simulate the server emitting a new template into the same host
|
|
723
|
+
// after a morph (host kept, template re-inserted).
|
|
724
|
+
host.innerHTML = `<template shadowrootmode="open"><span>second</span></template>`;
|
|
725
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
726
|
+
expect(host.shadowRoot.querySelector("span")?.textContent).toBe("second");
|
|
727
|
+
expect(host.querySelector("template")).toBeNull();
|
|
728
|
+
});
|
|
729
|
+
it("handles multiple sibling templates on one page", () => {
|
|
730
|
+
document.body.innerHTML = `
|
|
731
|
+
<div id="a"><template shadowrootmode="open"><i>A</i></template></div>
|
|
732
|
+
<div id="b"><template shadowrootmode="open"><i>B</i></template></div>
|
|
733
|
+
<div id="c"><template shadowrootmode="open"><i>C</i></template></div>
|
|
734
|
+
`;
|
|
735
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
736
|
+
for (const [id, want] of [["a", "A"], ["b", "B"], ["c", "C"]]) {
|
|
737
|
+
const host = document.getElementById(id);
|
|
738
|
+
expect(host.shadowRoot?.querySelector("i")?.textContent).toBe(want);
|
|
739
|
+
}
|
|
740
|
+
});
|
|
741
|
+
it("silently drops the template when the host can't accept a shadow root", () => {
|
|
742
|
+
// Real-world hosts that can't accept a shadow root (void elements,
|
|
743
|
+
// <input>, <textarea>, custom-element mode conflicts) make
|
|
744
|
+
// attachShadow throw a DOMException. The hook must catch and
|
|
745
|
+
// remove the template instead of leaving a re-trigger ticking on
|
|
746
|
+
// every render. Drive the failure path via a stub on a regular
|
|
747
|
+
// <div> so this test doesn't depend on jsdom's <input>-as-host
|
|
748
|
+
// behaviour, which varies across versions.
|
|
749
|
+
const host = document.createElement("div");
|
|
750
|
+
host.id = "host";
|
|
751
|
+
document.body.appendChild(host);
|
|
752
|
+
const tpl = document.createElement("template");
|
|
753
|
+
tpl.setAttribute("shadowrootmode", "open");
|
|
754
|
+
host.appendChild(tpl);
|
|
755
|
+
const orig = host.attachShadow.bind(host);
|
|
756
|
+
host.attachShadow = () => {
|
|
757
|
+
throw new DOMException("Operation is not supported", "NotSupportedError");
|
|
758
|
+
};
|
|
759
|
+
expect(() => (0, directives_1.handleShadowRootHydration)(document.body)).not.toThrow();
|
|
760
|
+
// Template must be removed even though attach failed.
|
|
761
|
+
expect(host.querySelector("template")).toBeNull();
|
|
762
|
+
expect(host.shadowRoot).toBeNull();
|
|
763
|
+
host.attachShadow = orig;
|
|
764
|
+
host.remove();
|
|
765
|
+
});
|
|
766
|
+
it("warns when attachShadow rejects the host (DOMException path)", () => {
|
|
767
|
+
const warn = jest.spyOn(console, "warn").mockImplementation(() => { });
|
|
768
|
+
const host = document.createElement("div");
|
|
769
|
+
host.id = "warn-host";
|
|
770
|
+
document.body.appendChild(host);
|
|
771
|
+
const tpl = document.createElement("template");
|
|
772
|
+
tpl.setAttribute("shadowrootmode", "open");
|
|
773
|
+
host.appendChild(tpl);
|
|
774
|
+
host.attachShadow = () => {
|
|
775
|
+
throw new DOMException("Operation is not supported", "NotSupportedError");
|
|
776
|
+
};
|
|
777
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
778
|
+
expect(warn).toHaveBeenCalledWith(expect.stringContaining("attachShadow rejected"), host);
|
|
779
|
+
warn.mockRestore();
|
|
780
|
+
host.remove();
|
|
781
|
+
});
|
|
782
|
+
it("removes templates with an unrecognised shadowrootmode and warns", () => {
|
|
783
|
+
// The HTML parser doesn't activate a `<template shadowrootmode>`
|
|
784
|
+
// with an unknown mode value. The directive removes the template
|
|
785
|
+
// outright (so the fast-path advertised in the docblock isn't
|
|
786
|
+
// defeated by a persistent typo that the qsa keeps re-finding) and
|
|
787
|
+
// logs a console.warn so authors actually see the mistake.
|
|
788
|
+
const warn = jest.spyOn(console, "warn").mockImplementation(() => { });
|
|
789
|
+
document.body.innerHTML = `
|
|
790
|
+
<div id="host">
|
|
791
|
+
<template shadowrootmode="opne"><span>typo</span></template>
|
|
792
|
+
</div>
|
|
793
|
+
`;
|
|
794
|
+
const host = document.getElementById("host");
|
|
795
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
796
|
+
expect(host.shadowRoot).toBeNull();
|
|
797
|
+
expect(host.querySelector("template")).toBeNull();
|
|
798
|
+
expect(warn).toHaveBeenCalledWith(expect.stringContaining("invalid shadowrootmode"), expect.anything());
|
|
799
|
+
warn.mockRestore();
|
|
800
|
+
});
|
|
801
|
+
it("rethrows non-DOMException errors so real bugs surface", () => {
|
|
802
|
+
document.body.innerHTML = `
|
|
803
|
+
<div id="host"><template shadowrootmode="open"><span>x</span></template></div>
|
|
804
|
+
`;
|
|
805
|
+
const host = document.getElementById("host");
|
|
806
|
+
host.attachShadow = () => {
|
|
807
|
+
throw new Error("typo in options or runtime bug");
|
|
808
|
+
};
|
|
809
|
+
// A bare catch would have hidden this; the narrow guard surfaces it.
|
|
810
|
+
expect(() => (0, directives_1.handleShadowRootHydration)(document.body)).toThrow("typo in options or runtime bug");
|
|
811
|
+
});
|
|
812
|
+
it("idempotent re-run when no remaining templates is essentially free", () => {
|
|
813
|
+
document.body.innerHTML = `<div id="host"></div>`;
|
|
814
|
+
// First run: nothing to do.
|
|
815
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
816
|
+
// Second run on a clean tree: still nothing.
|
|
817
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
818
|
+
const host = document.getElementById("host");
|
|
819
|
+
expect(host.shadowRoot).toBeNull();
|
|
820
|
+
});
|
|
821
|
+
it("forwards shadowrootdelegatesfocus / clonable / serializable to attachShadow", () => {
|
|
822
|
+
// Use a spy because jsdom doesn't expose the options on the resulting
|
|
823
|
+
// ShadowRoot in a stable way across versions — checking the call args
|
|
824
|
+
// is what we actually want to assert ("the directive forwards
|
|
825
|
+
// attributes faithfully to the platform call").
|
|
826
|
+
document.body.innerHTML = `
|
|
827
|
+
<div id="host">
|
|
828
|
+
<template shadowrootmode="open" shadowrootdelegatesfocus shadowrootclonable shadowrootserializable>
|
|
829
|
+
<span>focus me</span>
|
|
830
|
+
</template>
|
|
831
|
+
</div>
|
|
832
|
+
`;
|
|
833
|
+
const host = document.getElementById("host");
|
|
834
|
+
const spy = jest.spyOn(host, "attachShadow");
|
|
835
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
836
|
+
expect(spy).toHaveBeenCalledWith({
|
|
837
|
+
mode: "open",
|
|
838
|
+
delegatesFocus: true,
|
|
839
|
+
clonable: true,
|
|
840
|
+
serializable: true,
|
|
841
|
+
});
|
|
842
|
+
});
|
|
843
|
+
// Documented limitations — kept as it.skip so a future PR that
|
|
844
|
+
// closes either gap can flip the skip and have an instant test.
|
|
845
|
+
it("warns when shadowrootmode is changed on re-render (mode is one-shot)", () => {
|
|
846
|
+
const warn = jest.spyOn(console, "warn").mockImplementation(() => { });
|
|
847
|
+
document.body.innerHTML = `
|
|
848
|
+
<div id="host">
|
|
849
|
+
<template shadowrootmode="open"><span>first</span></template>
|
|
850
|
+
</div>
|
|
851
|
+
`;
|
|
852
|
+
const host = document.getElementById("host");
|
|
853
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
854
|
+
// Server flips the mode on the next render — surfacing the mismatch
|
|
855
|
+
// is the contract.
|
|
856
|
+
host.innerHTML = `<template shadowrootmode="closed"><span>second</span></template>`;
|
|
857
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
858
|
+
expect(warn).toHaveBeenCalledWith(expect.stringContaining("shadowrootmode changed"), host);
|
|
859
|
+
// The pre-existing open root persists (attachShadow can't be re-
|
|
860
|
+
// called); content still updates inside it.
|
|
861
|
+
expect(host.shadowRoot?.querySelector("span")?.textContent).toBe("second");
|
|
862
|
+
warn.mockRestore();
|
|
863
|
+
});
|
|
864
|
+
it.skip("nested DSD inside another template is inert on first render", () => {
|
|
865
|
+
// A `<template shadowrootmode>` nested inside another `<template>`
|
|
866
|
+
// is in DocumentFragment land, which qsa doesn't descend into — the
|
|
867
|
+
// inner template is never in the first qsa result, so it stays
|
|
868
|
+
// inert from render zero. (The "on re-render" case is the same
|
|
869
|
+
// mechanism: after the outer shadow attaches, the inner template
|
|
870
|
+
// sits behind a shadow boundary, also out of qsa's reach.)
|
|
871
|
+
document.body.innerHTML = `
|
|
872
|
+
<div id="outer">
|
|
873
|
+
<template shadowrootmode="open">
|
|
874
|
+
<div id="inner">
|
|
875
|
+
<template shadowrootmode="open"><span>nested</span></template>
|
|
876
|
+
</div>
|
|
877
|
+
</template>
|
|
878
|
+
</div>
|
|
879
|
+
`;
|
|
880
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
881
|
+
const outer = document.getElementById("outer");
|
|
882
|
+
const inner = outer.shadowRoot.getElementById("inner");
|
|
883
|
+
expect(inner.shadowRoot).toBeNull();
|
|
884
|
+
expect(inner.querySelector("template")).not.toBeNull();
|
|
885
|
+
});
|
|
886
|
+
it("defaults all extended options to false when attrs are absent", () => {
|
|
887
|
+
document.body.innerHTML = `
|
|
888
|
+
<div id="host">
|
|
889
|
+
<template shadowrootmode="open"><span>x</span></template>
|
|
890
|
+
</div>
|
|
891
|
+
`;
|
|
892
|
+
const host = document.getElementById("host");
|
|
893
|
+
const spy = jest.spyOn(host, "attachShadow");
|
|
894
|
+
(0, directives_1.handleShadowRootHydration)(document.body);
|
|
895
|
+
expect(spy).toHaveBeenCalledWith({
|
|
896
|
+
mode: "open",
|
|
897
|
+
delegatesFocus: false,
|
|
898
|
+
clonable: false,
|
|
899
|
+
serializable: false,
|
|
900
|
+
});
|
|
901
|
+
});
|
|
902
|
+
});
|
|
391
903
|
//# sourceMappingURL=directives.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directives.test.js","sourceRoot":"","sources":["../../tests/directives.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"directives.test.js","sourceRoot":"","sources":["../../tests/directives.test.ts"],"names":[],"mappings":"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"}
|