@gjsify/adwaita-web 0.46.0 → 0.48.0

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.
@@ -15,6 +15,7 @@ import {
15
15
  TAB_VIEW_VECTORS,
16
16
  TABS_REVEALED_VECTORS,
17
17
  applyTabViewOp,
18
+ replayTabPagesAsSplices,
18
19
  seedTabViewPages,
19
20
  tabViewClosing,
20
21
  tabViewOrder,
@@ -113,6 +114,19 @@ export const AdwTabViewConformanceTest = async () => {
113
114
  if (vector.pagesChanges) expect(mounted.pagesChanges).toStrictEqual([...vector.pagesChanges]);
114
115
  if (vector.closeAttempts) expect(mounted.closeAttempts).toStrictEqual([...vector.closeAttempts]);
115
116
 
117
+ // ADR 0046: the page signal, replayed as portable `items-changed` splices,
118
+ // must reproduce the order this widget actually ended on. That is the whole
119
+ // claim — `TabViewPagesChange` IS the positional list signal — measured
120
+ // against a real change stream rather than asserted in an ADR.
121
+ if (vector.pagesChanges) {
122
+ expect(
123
+ replayTabPagesAsSplices(
124
+ vector.pages.map((page) => page.id),
125
+ mounted.pagesChanges,
126
+ ),
127
+ ).toStrictEqual([...vector.order]);
128
+ }
129
+
116
130
  expect(tabViewOrder(view)).toStrictEqual([...vector.order]);
117
131
  expect(view.nPinnedPages).toBe(vector.nPinnedPages);
118
132
  expect(view.selectedId).toBe(vector.selectedId);