summaryrefslogtreecommitdiff
path: root/tests/test_parser.py
diff options
context:
space:
mode:
authortanaka takashi <isazaka@gmail.com>2026-07-12 17:58:19 +0900
committertanaka takashi <isazaka@gmail.com>2026-07-12 17:59:16 +0900
commitbf36a773918959eeb6ffe7dae2fb8b0874438eb4 (patch)
treeda7ff0037ea923fea255d2ed69ed2fb51395d9b9 /tests/test_parser.py
parentf1cd4d7d16f6e75a50bb0c587c0f759f7cf710cd (diff)
feat(ppmck): mckc準拠の構文拡張とIR保持コマンド追加
- @をデューティ比、qをクオンタイズに修正(mckc原本準拠) - ^タイ、Dディチューン、sスイープ、v+/v-相対音量を追加 - @v/@@/@MP/@EP/@EN エンベロープ・LFO系を構文解析してIR保持 - 上記IR保持コマンドは合成未対応を SEMANTIC_UNSUPPORTED_FEATURE で警告 - Design.md / MML_BNF.md を更新 - 全200テスト + ruff チェック通過
Diffstat (limited to 'tests/test_parser.py')
-rw-r--r--tests/test_parser.py10
1 files changed, 3 insertions, 7 deletions
diff --git a/tests/test_parser.py b/tests/test_parser.py
index a0f11c7..291eb9b 100644
--- a/tests/test_parser.py
+++ b/tests/test_parser.py
@@ -6,7 +6,7 @@ from mml_composemusic_mcp.parser_ppmck import parse_ppmck
from mml_composemusic_mcp.parser_pyxel import parse_pyxel
PPMCK_EXAMPLE = """#TITLE "Test"
-A t150 l8 o4 v15 q2
+A t150 l8 o4 v15 @2
c d e f
B o3
c e g
@@ -27,9 +27,7 @@ def test_ppmck_parse():
assert len(program.tracks) == 2
assert program.tracks[0].channel == "Pulse1"
assert program.tracks[1].channel == "Pulse2"
- notes = [
- s for s in program.tracks[0].statements if isinstance(s, NoteStmt)
- ]
+ notes = [s for s in program.tracks[0].statements if isinstance(s, NoteStmt)]
assert notes[0].note_name == "c"
@@ -40,9 +38,7 @@ def test_pyxel_parse():
assert not any(e.severity == "error" for e in errors)
assert len(program.tracks) == 2
assert program.tracks[0].channel == "Pulse1"
- notes = [
- s for s in program.tracks[0].statements if isinstance(s, NoteStmt)
- ]
+ notes = [s for s in program.tracks[0].statements if isinstance(s, NoteStmt)]
assert notes[0].note_name == "c"