설계 개편
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
import xml.etree.ElementTree as ET
|
||||
from pathlib import Path
|
||||
|
||||
from techviz.layout import build_layout
|
||||
from techviz.renderers.svg import render_svg
|
||||
from techviz.spec import load_spec
|
||||
from techviz.validate import has_errors, validate_spec
|
||||
|
||||
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
|
||||
|
||||
class RuntimeProfileTests(unittest.TestCase):
|
||||
def test_every_profile_fixture_is_executable(self) -> None:
|
||||
paths = sorted((ROOT / "examples/runtime-profiles").glob("*/spec.json"))
|
||||
self.assertEqual(len(paths), 10)
|
||||
seen_profiles: set[str] = set()
|
||||
for path in paths:
|
||||
with self.subTest(path=path):
|
||||
spec = load_spec(path)
|
||||
issues = validate_spec(spec)
|
||||
self.assertFalse(has_errors(issues), issues)
|
||||
svg = render_svg(spec, build_layout(spec))
|
||||
ET.fromstring(svg)
|
||||
self.assertNotIn("Generated from grounded VizSpec", svg)
|
||||
self.assertNotIn('class="diagram-title"', svg)
|
||||
seen_profiles.add(spec.profile)
|
||||
self.assertEqual(len(seen_profiles), 10)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user