Editor
ci / checks (push) Has been cancelled

This commit is contained in:
khodowany
2026-09-10 18:54:24 -05:00
parent 1a13d6b0e1
commit ea4e0bbba1
22 changed files with 148 additions and 6189 deletions
+35
View File
@@ -1,12 +1,47 @@
from __future__ import annotations
import unittest
import unittest.mock
import subprocess
import sys
import tempfile
from pathlib import Path
from generator.__main__ import copy_runtime_fonts
from generator.arrange.generate import arrange_document
from generator.arrange.fretboard import chord_pitch_classes, pitches_for_voicing
from generator.styles import BUILT_IN_STYLES
from generator.transposition import mod12
from generator.score import normalize_score_document
from tools import generate_pico_font
class FontAssetsTests(unittest.TestCase):
def test_font_generator_requires_kerning_backend(self):
with unittest.mock.patch.object(generate_pico_font.features, "check_feature", return_value=False):
with self.assertRaisesRegex(RuntimeError, "Raqm"):
generate_pico_font.generate()
def test_runtime_fonts_exclude_unused_assets(self):
root = Path(__file__).resolve().parents[1]
with tempfile.TemporaryDirectory() as directory:
output = Path(directory)
copy_runtime_fonts(root / "package/assets", output)
files = {path.name for path in (output / "fonts/petaluma").iterdir()}
self.assertEqual(files, {"Petaluma.otf", "PetalumaScript.otf", "OFL.txt"})
def test_font_generator_uses_explicit_build_output(self):
root = Path(__file__).resolve().parents[1]
with tempfile.TemporaryDirectory() as directory:
output = Path(directory) / "generated/font.cpp"
command = [sys.executable, str(root / "tools/generate_pico_font.py"), "--output", str(output)]
subprocess.run(command, check=True, capture_output=True, text=True)
self.assertNotIn("std::array<pair_adjustment, 0>", output.read_text(encoding="utf-8"))
before = output.stat().st_mtime_ns
subprocess.run([*command, "--check"], check=True, capture_output=True, text=True)
self.assertEqual(before, output.stat().st_mtime_ns)
output.write_text("stale", encoding="utf-8")
self.assertNotEqual(subprocess.run([*command, "--check"], capture_output=True).returncode, 0)
class CompactScoreJsonTests(unittest.TestCase):