aboutsummaryrefslogtreecommitdiff
path: root/tests/gallery-tokens
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-20 23:44:35 -0500
committerCraig Jennings <c@cjennings.net>2026-07-20 23:44:35 -0500
commit179fbd55795c27ed388860e3c6b3d8c0651422ac (patch)
tree6c6d8d83257660cb83abe26bebdc71a5affb5797 /tests/gallery-tokens
parent26eb578ab94610670196e632090b841f23611ce6 (diff)
downloadarchsetup-179fbd55795c27ed388860e3c6b3d8c0651422ac.tar.gz
archsetup-179fbd55795c27ed388860e3c6b3d8c0651422ac.zip
test: fix the weak assertions from the S6/S7 audit
The Hyprland socket check passed a shell glob to `test -S`, which breaks at both edges: zero matches leaves the literal pattern and several instances pass multiple args, failing for reasons unrelated to the socket. It now resolves one socket with find -type s. The gen_tokens degenerate-marker test asserted properties loose enough to pass on garbled output. It now pins the exact reconstruction as a characterization, with the impossible-input caveat stated, so any change to the branch surfaces. The gallery tick count leaned on split-string omit-nulls arithmetic that happened to equal the match count. It now counts occurrences directly. gallery-widget-write-svg, the last uncovered public entry point, gets a Normal-case test.
Diffstat (limited to 'tests/gallery-tokens')
-rw-r--r--tests/gallery-tokens/test_gen_tokens.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/tests/gallery-tokens/test_gen_tokens.py b/tests/gallery-tokens/test_gen_tokens.py
index b9fbb50..2968119 100644
--- a/tests/gallery-tokens/test_gen_tokens.py
+++ b/tests/gallery-tokens/test_gen_tokens.py
@@ -181,11 +181,15 @@ class ReplaceBetweenMarkers(unittest.TestCase):
def test_start_marker_on_final_line_without_newline(self):
# Defensive branch: no newline after the start marker. The guard must
# not let text[:si-of-newline+1] collapse to "" and wipe the prefix.
+ # This input cannot occur in the real HTML (markers always sit on
+ # their own newline-terminated lines), so the exact-string assert is a
+ # characterization: the prefix survives, and the reconstruction's
+ # duplicated start marker is pinned deliberately so any change to the
+ # branch surfaces here instead of passing unnoticed.
src = f"keep\n{self.START} {self.END}"
out = gt.replace_between_markers(src, self.START, self.END, "X")
- self.assertTrue(out.startswith("keep\n"))
- self.assertIn(self.END, out)
- self.assertIn("X", out)
+ self.assertEqual(
+ out, f"keep\n{self.START} X\n{self.START} {self.END}")
class RealTokensJson(unittest.TestCase):