1
0
mirror of synced 2024-11-27 22:40:49 +01:00
tja2fumen/testing/test_command_support.py
Viv 018d09d34c
Fix error when metadata fields have numbers in them (e.g. NOTESDESIGNER0) (#61)
Simple fix -- regex for metadata didn't include numbers, but does now.

Fixes #60.
2023-08-05 11:00:28 -04:00

40 lines
1.2 KiB
Python

import os
import shutil
import pytest
from conftest import convert
@pytest.mark.parametrize('id_song,err_msg', [
['basic_song', None],
['basic_song_2P', None],
['unsupported', None],
['notes_double_kusudama', None],
['notes_hands', None],
['notes_sim_only', None],
['missing_score', None],
['missing_balloon', "Not enough values for 'BALLOON:"],
['missing_course', "Invalid COURSE value:"],
['missing_level', "Invalid LEVEL value:"]
])
def test_expected_errors(id_song, err_msg, tmp_path, entry_point):
# Define the testing directory
path_test = os.path.dirname(os.path.realpath(__file__))
# Define the working directory
path_temp = os.path.join(tmp_path, id_song)
os.mkdir(path_temp)
# Copy input TJA to working directory
path_tja = os.path.join(path_test, "data", "dummy_tjas", f"{id_song}.tja")
path_tja_tmp = os.path.join(path_temp, f"{id_song}.tja")
shutil.copy(path_tja, path_tja_tmp)
# Try to convert TJA file to fumen files, then check the error traceback
tb = convert(path_test, path_tja_tmp, entry_point, err_msg)
if err_msg:
assert err_msg in tb
else:
assert tb == ''