Skip to content

Commit ea30d08

Browse files
committed
test(scripts): pin the decorated-annotation cases on the real wrapped shapes
The before-the-emphasis case now uses objectui's own wrapped label, whose run crosses a line, so the emphasis-label scan cannot answer it and only the block opener can. The verbatim-label case asserts the entry is flagged before it reads the rendered line, and the variation-selector cases spell the code points as escapes. Claude-Session: https://claude.ai/code/session_012zwsLMxQBwHUYJgPyrpEvx Co-authored-by: Claude <noreply@anthropic.com>
1 parent e835d49 commit ea30d08

1 file changed

Lines changed: 21 additions & 9 deletions

File tree

‎scripts/objectui-changeset-digest.mjs‎

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1800,11 +1800,11 @@ function selfTest() {
18001800
'TypeScript that writes a retired member no longer compiles.\n';
18011801
check(
18021802
"#23112 objectui#12242's changeset body reads breaking (`## ⚠️ BREAKING, …`)",
1803-
body12242.includes('## ⚠️ BREAKING') && hasBreakingAnnotation(body12242),
1803+
body12242.includes('## \u26A0\uFE0F BREAKING') && hasBreakingAnnotation(body12242),
18041804
);
18051805
check(
18061806
'#23112 the plain-heading control still reads breaking (`## BREAKING, …`)',
1807-
hasBreakingAnnotation(body12242.replace('## ⚠️ BREAKING', '## BREAKING')),
1807+
hasBreakingAnnotation(body12242.replace('## \u26A0\uFE0F BREAKING', '## BREAKING')),
18081808
);
18091809
check(
18101810
'#23112 a decorated PROSE sentence containing "breaking" does not read breaking',
@@ -1814,7 +1814,13 @@ function selfTest() {
18141814
);
18151815
check(
18161816
'#23112 the sign BEFORE the emphasis mark reads breaking (`⚠️ **BREAKING (…)**`)',
1817-
hasBreakingAnnotation('a\n\n⚠️ **BREAKING (scored `minor` per the version-alignment rule)** — x'),
1817+
// Wrapped as objectui `10719-retire-phase35-validation-types.md` wraps it, so
1818+
// the label's run crosses a line and `BREAKING_EMPHASIS_LABEL` cannot see it:
1819+
// only the opener can answer.
1820+
hasBreakingAnnotation(
1821+
"a\n\n⚠️ **BREAKING (scored `minor` per this repository's version-alignment\n" +
1822+
'convention) — x.**',
1823+
),
18181824
);
18191825
check(
18201826
'#23112 the sign INSIDE the emphasis mark reads breaking (`**⚠️ Breaking …**`)',
@@ -1826,7 +1832,7 @@ function selfTest() {
18261832
);
18271833
check(
18281834
'#23112 the sign without its variation selector reads breaking (`## ⚠ BREAKING`)',
1829-
hasBreakingAnnotation('a\n\n## ⚠ BREAKING'),
1835+
hasBreakingAnnotation('a\n\n## \u26A0 BREAKING'),
18301836
);
18311837
check(
18321838
'#23112 the rule is the pictograph CLASS, not the one sign (`- 🚨 BREAKING:` behind a bullet)',
@@ -1870,11 +1876,12 @@ function selfTest() {
18701876
"---\n'@object-ui/types': minor\n---\n\n" + body12242,
18711877
'src/types.ts': 'a\n',
18721878
});
1873-
commitDeco('fix(core): retire the phase-3.5 validation types (#10719)', {
1879+
commitDeco('fix(types): retire the phase-3.5 validation types (#10719)', {
18741880
'.changeset/10719-retire-phase35-validation-types.md':
1875-
"---\n'@object-ui/core': minor\n---\n\n" +
1876-
'⚠️ **BREAKING (scored `minor` per the version-alignment rule)** — the phase-3.5 ' +
1877-
'validation types are retired.\n',
1881+
"---\n'@object-ui/types': minor\n---\n\n" +
1882+
"⚠️ **BREAKING (scored `minor` per this repository's version-alignment\n" +
1883+
'convention) — `@object-ui/types` no longer exports the eight "Phase 3.5"\n' +
1884+
'validation types (objectui#10719).**\n',
18781885
'src/core.ts': 'b\n',
18791886
});
18801887
commitDeco('fix(fields): a picker note (#3336)', {
@@ -1902,7 +1909,12 @@ function selfTest() {
19021909
);
19031910
check(
19041911
"#23112 a summary opening with a decorated label renders it verbatim, never restated",
1905-
decorated.body.includes('- **minor** — ⚠️ **BREAKING (scored `minor` per the version-alignment rule)** —') &&
1912+
// The `breaking` clause is load-bearing: an UNFLAGGED entry renders this
1913+
// same line, so the text clauses alone would pass for an empty reason.
1914+
decorated.releasing.find((r) => r.path.includes('10719'))?.breaking === true &&
1915+
decorated.body.includes(
1916+
"- **minor** — ⚠️ **BREAKING (scored `minor` per this repository's version-alignment convention)",
1917+
) &&
19061918
!decorated.body.includes('**BREAKING** — ⚠️ **BREAKING'),
19071919
decorated.body,
19081920
);

0 commit comments

Comments
 (0)