fix: show source_ref annotations on the cards

This commit is contained in:
Abdessamad Derraz committed 2026-11-06 15:10:40 +01:00
1 parent d7019a0ca4
commit cf4afccf04
3 files changed
+78 -5

No files matched your search

+41
View File
@@ -255,6 +255,47 @@ class AnAliasTreeIsListedOnItsParentsPage(unittest.TestCase):
self.assertEqual([t["ref"] for t in trees], ["freeintv-overlays"])
class CitationsKeepTheirAnnotations(unittest.TestCase):
"""split_source_ref drops annotations for profile_sync, and the cards
reused it: abuse's two lsf lines lost "(lsf default)" and "(lsf
override)", the only words saying which one wins."""
@mock.patch("sitesources.tree_holds", lambda *_args: True)
def test_each_part_shows_what_the_profile_wrote_beside_it(self):
import sitesources
profile = {"source": "https://github.com/Xenoveritas/abuse",
"source_commit": "a" * 40}
ref = ("src/loader2.cpp:284 (lsf default), src/netcfg.cpp:204 (lsf override), "
"libretro.cpp:1520-1521 candidates_a1200, 30-31 (see <system_dir>), src/x.c:1")
(label, items), = sitesources.source_ref_items(profile, ref)
texts = [text for text, _role in items]
self.assertTrue(texts[0].endswith(") (lsf default)"), texts[0])
self.assertTrue(texts[1].endswith(") (lsf override)"), texts[1])
self.assertTrue(texts[2].endswith(") candidates_a1200"), texts[2])
self.assertTrue(texts[3].endswith(") (see &lt;system_dir>)"), texts[3])
self.assertTrue(texts[4].endswith(")"), texts[4])
def test_the_annotation_is_what_follows_the_location(self):
from sourceref import ref_annotation
self.assertEqual(ref_annotation("munt ROMInfo.cpp:206-213"), "")
self.assertEqual(ref_annotation("source atari800/src/sysrom.c:91"), "")
self.assertEqual(ref_annotation("doc/notes.txt (read at boot)"), "(read at boot)")
self.assertEqual(ref_annotation("a.c (see b.c:12)"), "(see b.c:12)")
self.assertEqual(ref_annotation("0x53c338-0x53c36f (dreamBios row)"), "(dreamBios row)")
def test_a_binary_citation_keeps_its_annotation(self):
import sitesources
(_label, items), = sitesources.source_ref_items(
{}, "demul.exe 0x6b4d80-0x6b4ea3 (dc table), 0x53ca4d-0x53ca7e (load, fatal)")
self.assertEqual([text for text, _ in items], [
"offset `0x6b4d80-0x6b4ea3` in `demul.exe` (dc table)",
"offset `0x53ca4d-0x53ca7e` in `demul.exe` (load, fatal)",
])
class ForgesUpstreamDoesNotRead(unittest.TestCase):
"""Profiles pinned on SourceForge, voidpoint.io, Bitbucket or Software
Heritage showed no revision, and their citations were plain code."""