Skip to content

Commit 1183080

Browse files
Test synchronize
1 parent 9334602 commit 1183080

File tree

2 files changed

+70
-2
lines changed

2 files changed

+70
-2
lines changed

mscxyz/cli.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -820,8 +820,9 @@ def list_styles(version: int) -> None:
820820

821821
if args.meta_delete:
822822
score.meta.delete_duplicates()
823-
# if args.meta_sync:
824-
# score.meta.sync_fields()
823+
824+
if args.meta_sync:
825+
score.meta.sync_fields()
825826
# if args.meta_log:
826827
# score.meta.write_to_log_file(args.meta_log[0], args.meta_log[1])
827828
# post: dict[str, str] = score.meta.interface.export_to_dict()

tests/test_meta.py

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -952,6 +952,73 @@ def test_move_subtitle(self) -> None:
952952
assert i.combined_title == "Title"
953953

954954

955+
@pytest.mark.legacy
956+
def test_option_synchronize_legacy() -> None:
957+
c = (
958+
Cli("meta", "--synchronize", legacy=True)
959+
.append_score("meta-all-values.mscz")
960+
.execute()
961+
)
962+
963+
pre = c.pre.meta
964+
post = c.post.meta
965+
966+
# pre
967+
assert pre.vbox.title == "vbox_title"
968+
assert pre.metatag.work_title == "metatag_work_title"
969+
# post
970+
assert post.vbox.title == post.metatag.work_title == "vbox_title"
971+
972+
# pre
973+
assert pre.vbox.subtitle == "vbox_subtitle"
974+
assert pre.metatag.movement_title == "metatag_movement_title"
975+
# post
976+
assert post.vbox.subtitle == post.metatag.movement_title == "vbox_subtitle"
977+
978+
# pre
979+
assert pre.vbox.composer == "vbox_composer"
980+
assert pre.metatag.composer == "metatag_composer"
981+
# post
982+
assert post.vbox.composer == post.metatag.composer == "vbox_composer"
983+
984+
# pre
985+
assert pre.vbox.lyricist is None
986+
assert pre.metatag.lyricist == "metatag_lyricist"
987+
# post
988+
assert post.vbox.lyricist == post.metatag.lyricist == "metatag_lyricist"
989+
990+
991+
def test_option_synchronize() -> None:
992+
c = Cli("--synchronize").append_score("meta-all-values.mscz").execute()
993+
994+
pre = c.pre.meta
995+
post = c.post.meta
996+
997+
# pre
998+
assert pre.vbox.title == "vbox_title"
999+
assert pre.metatag.work_title == "metatag_work_title"
1000+
# post
1001+
assert post.vbox.title == post.metatag.work_title == "vbox_title"
1002+
1003+
# pre
1004+
assert pre.vbox.subtitle == "vbox_subtitle"
1005+
assert pre.metatag.movement_title == "metatag_movement_title"
1006+
# post
1007+
assert post.vbox.subtitle == post.metatag.movement_title == "vbox_subtitle"
1008+
1009+
# pre
1010+
assert pre.vbox.composer == "vbox_composer"
1011+
assert pre.metatag.composer == "metatag_composer"
1012+
# post
1013+
assert post.vbox.composer == post.metatag.composer == "vbox_composer"
1014+
1015+
# pre
1016+
assert pre.vbox.lyricist is None
1017+
assert pre.metatag.lyricist == "metatag_lyricist"
1018+
# post
1019+
assert post.vbox.lyricist == post.metatag.lyricist == "metatag_lyricist"
1020+
1021+
9551022
class TestClassMeta:
9561023
meta: Meta
9571024

0 commit comments

Comments
 (0)