Files
libretro/tests/test_name_tiebreak.py
T
Abdessamad Derraz 4231902a6c docs: write prose without dashes or semicolons
Profiles, the wiki, comments, docstrings, command output and schema descriptions carried em-dashes, clause-joining semicolons, unicode arrows, box-drawing banners and check-mark glyphs. Each sentence was rewritten rather than having its character swapped. Hashes, paths, source_ref values and every cited file:line are unchanged, which a comparison of each parsed profile against the previous revision confirms.

validate_pr comments now say PASS and FAIL in words, and source_ref values in a profile's structured blocks render as code. test_prose_style fails if any of these comes back, in tracked files or in the generated site.
2026-10-19 06:47:31 +02:00

53 lines
1.8 KiB
Python

"""Same-named candidates are ordered by the size the entry declares.
ScummVM declares MT32_PCM.ROM at 524288 bytes, but the name step took the 1 MB
CM-32L PCM ROM that sorted first. Ordering rejects nothing, so a size
without `validation: [size]` keeps its informative status.
"""
from __future__ import annotations
import sys
import tempfile
import unittest
from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parents[1]
sys.path.insert(0, str(REPO_ROOT / "scripts"))
from common import _by_affinity # noqa: E402
class DeclaredSizeOrders(unittest.TestCase):
def test_the_fitting_size_comes_first(self):
with tempfile.TemporaryDirectory(dir=REPO_ROOT / "tmp") as tmp:
big = Path(tmp) / "a" / "pcm.rom"
small = Path(tmp) / "b" / "pcm.rom"
for path, size in ((big, 1024), (small, 512)):
path.parent.mkdir()
path.write_bytes(b"x" * size)
ordered = _by_affinity([str(big), str(small)], {"size": 512}, "")
self.assertEqual(ordered[0], str(small))
kept = _by_affinity([str(big), str(small)], {}, "")
self.assertEqual(kept, [str(big), str(small)])
class OwnerOutranksSharedTree(unittest.TestCase):
def test_the_owners_copy_beats_two_matching_segments(self):
"""armsx2's fxaa.fx lost to NetherSX2's under shaders/common/."""
from common import _by_affinity # noqa: PLC0415
paths = [
"bios/Other/nethersx2/assets/shaders/common/fxaa.fx",
"bios/Other/armsx2/fxaa.fx",
]
ordered = _by_affinity(
paths, {"name": "fxaa.fx", "source_profile": "armsx2"},
"pcsx2/resources/shaders/common/fxaa.fx",
)
self.assertEqual(ordered[0], "bios/Other/armsx2/fxaa.fx")
if __name__ == "__main__":
unittest.main()