mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2026-11-08 11:46:35 +00:00
feat(ci): drop the dot between the category glyphs and the role title
Job and run titles read `🐳🧅…𓏴𓏛·Nextcloud#2`; the `·` between the hieroglyph block and the title only costs width. RoleDisplayName.encode now joins the two directly (`𓏴𓏛Nextcloud#2`). Spaces inside a README heading still become `·`, which keeps a display name one token in the space-separated whitelist and priority inputs. decode and decode_list still map the dotted form of older runs back to the role id, so report_failures, the run tooling and selection tokens pasted from an earlier run keep working. Old and new names cannot collide: a glyph block holds only hieroglyphs and a title starts with a letter. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
283cdd86bd
commit
68b0dfd508
5 files changed
+44
-26
No files matched your search
@@ -12,7 +12,7 @@ class TestRoleDisplayName(unittest.TestCase):
|
||||
|
||||
def test_encode_runs_the_category_labels_together_before_the_heading(self):
|
||||
self.assertEqual(
|
||||
f"{''.join(self.codec.category_labels(APP))}·{self.codec.title(APP)}",
|
||||
f"{''.join(self.codec.category_labels(APP))}{self.codec.title(APP)}",
|
||||
self.codec.encode(APP),
|
||||
)
|
||||
|
||||
@@ -22,13 +22,12 @@ class TestRoleDisplayName(unittest.TestCase):
|
||||
len(self.codec.title(long_heading)),
|
||||
len(self.codec.id_fragment(long_heading)),
|
||||
)
|
||||
self.assertTrue(
|
||||
self.codec.encode(long_heading).endswith(
|
||||
f"·{self.codec.id_fragment(long_heading)}"
|
||||
),
|
||||
self.assertEqual(
|
||||
"".join(self.codec.category_labels(long_heading))
|
||||
+ self.codec.id_fragment(long_heading),
|
||||
self.codec.encode(long_heading),
|
||||
)
|
||||
self.assertEqual("𓉐𓌀𓌉·compose", self.codec.encode("sys-ctl-alm-compose"))
|
||||
self.assertEqual("𓉐𓌀𓌉compose", self.codec.encode("sys-ctl-alm-compose"))
|
||||
|
||||
def test_the_id_section_drops_what_the_categories_already_say(self):
|
||||
self.assertEqual("nextcloud", self.codec.id_fragment(APP))
|
||||
@@ -43,6 +42,13 @@ class TestRoleDisplayName(unittest.TestCase):
|
||||
for variant in ("", "0", "0,1"):
|
||||
self.assertEqual(APP, self.codec.decode(self.codec.encode(APP, variant)))
|
||||
|
||||
def test_decode_still_reads_the_dotted_name_of_older_runs(self):
|
||||
glyphs = "".join(self.codec.category_labels(APP))
|
||||
dotted = self.codec.encode(APP).replace(glyphs, f"{glyphs}·", 1)
|
||||
self.assertNotEqual(dotted, self.codec.encode(APP))
|
||||
self.assertEqual(APP, self.codec.decode(dotted))
|
||||
self.assertEqual(APP, self.codec.decode(f"{dotted}#2"))
|
||||
|
||||
def test_decode_passes_a_role_id_through(self):
|
||||
self.assertEqual(APP, self.codec.decode(APP))
|
||||
self.assertEqual(APP, self.codec.decode(f"{APP}#0,1"))
|
||||
|
||||
Reference in new issue
Block a user