@@ -57,47 +57,55 @@ int main(void)
57
57
58
58
void * ta_ctx = talloc_new (NULL );
59
59
60
- #define TEST_LANG_GUESS (filename , expected_lang , expected_start , expected_hi ) \
61
- do { \
62
- int start; \
63
- bool hearing_impaired; \
64
- bstr lang = mp_guess_lang_from_filename(bstr0(filename), &start, \
65
- &hearing_impaired); \
66
- assert_string_equal(bstrto0(ta_ctx, lang), expected_lang); \
67
- assert_int_equal(start, expected_start); \
68
- assert_true(hearing_impaired == expected_hi); \
60
+ #define TEST_LANG_GUESS (filename , expected_lang , expected_start , expected_flags ) \
61
+ do { \
62
+ int start; \
63
+ enum track_flags flags; \
64
+ bstr lang = mp_guess_lang_from_filename(bstr0(filename), &start, &flags); \
65
+ assert_string_equal(bstrto0(ta_ctx, lang), expected_lang); \
66
+ assert_int_equal(start, expected_start); \
67
+ assert_int_equal(flags, expected_flags); \
69
68
} while (0)
70
69
71
- TEST_LANG_GUESS ("foo.en.srt" , "en" , 3 , false );
72
- TEST_LANG_GUESS ("foo.eng.srt" , "eng" , 3 , false );
73
- TEST_LANG_GUESS ("foo.e.srt" , "" , -1 , false );
74
- TEST_LANG_GUESS ("foo.engg.srt" , "" , -1 , false );
75
- TEST_LANG_GUESS ("foo.00.srt" , "" , -1 , false );
76
- TEST_LANG_GUESS ("foo.srt" , "" , -1 , false );
77
- TEST_LANG_GUESS (NULL , "" , -1 , false );
70
+ TEST_LANG_GUESS ("foo.en.srt" , "en" , 3 , 0 );
71
+ TEST_LANG_GUESS ("foo.eng.srt" , "eng" , 3 , 0 );
72
+ TEST_LANG_GUESS ("foo.e.srt" , "" , -1 , 0 );
73
+ TEST_LANG_GUESS ("foo.engg.srt" , "" , -1 , 0 );
74
+ TEST_LANG_GUESS ("foo.00.srt" , "" , -1 , 0 );
75
+ TEST_LANG_GUESS ("foo.srt" , "" , -1 , 0 );
76
+ TEST_LANG_GUESS (NULL , "" , -1 , 0 );
78
77
79
- TEST_LANG_GUESS ("foo.en-US.srt" , "en-US" , 3 , false);
80
- TEST_LANG_GUESS ("foo.en-US.hi.srt" , "en-US" , 3 , true);
81
- TEST_LANG_GUESS ("foo.en-US.sdh.srt" , "en-US" , 3 , true);
82
- TEST_LANG_GUESS ("foo.en-simple.srt" , "en-simple" , 3 , false);
83
- TEST_LANG_GUESS ("foo.sgn-FSL.srt" , "sgn-FSL" , 3 , false);
84
- TEST_LANG_GUESS ("foo.gsw-u-sd-chzh.srt" , "gsw-u-sd-chzh" , 3 , false);
85
- TEST_LANG_GUESS ("foo.en-.srt" , "" , -1 , false);
86
- TEST_LANG_GUESS ("foo.en-US-.srt" , "" , -1 , false);
87
- TEST_LANG_GUESS ("foo.en-aaaaaaaaa.srt" , "" , -1 , false);
88
- TEST_LANG_GUESS ("foo.en-0.srt" , "" , -1 , false);
78
+ TEST_LANG_GUESS ("foo.en-US.srt" , "en-US" , 3 , 0 );
79
+ TEST_LANG_GUESS ("foo.en-US.hi.srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED );
80
+ TEST_LANG_GUESS ("foo.en-US.sdh.srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED );
81
+ TEST_LANG_GUESS ("foo.en-US.forced.srt" , "en-US" , 3 , TRACK_FORCED );
82
+ TEST_LANG_GUESS ("foo.en-US.forced.sdh.srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED | TRACK_FORCED );
83
+ TEST_LANG_GUESS ("foo.en-US.sdh.forced.srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED | TRACK_FORCED );
84
+ TEST_LANG_GUESS ("foo.en-simple.srt" , "en-simple" , 3 , 0 );
85
+ TEST_LANG_GUESS ("foo.sgn-FSL.srt" , "sgn-FSL" , 3 , 0 );
86
+ TEST_LANG_GUESS ("foo.gsw-u-sd-chzh.srt" , "gsw-u-sd-chzh" , 3 , 0 );
87
+ TEST_LANG_GUESS ("foo.en-.srt" , "" , -1 , 0 );
88
+ TEST_LANG_GUESS ("foo.en-US-.srt" , "" , -1 , 0 );
89
+ TEST_LANG_GUESS ("foo.en-aaaaaaaaa.srt" , "" , -1 , 0 );
90
+ TEST_LANG_GUESS ("foo.en-0.srt" , "" , -1 , 0 );
89
91
90
- TEST_LANG_GUESS ("foo[en].srt" , "en" , 3 , false);
91
- TEST_LANG_GUESS ("foo[en-US].srt" , "en-US" , 3 , false);
92
- TEST_LANG_GUESS ("foo[en-US][hi].srt" , "en-US" , 3 , true);
93
- TEST_LANG_GUESS ("foo[en-US][sdh].srt" , "en-US" , 3 , true);
94
- TEST_LANG_GUESS ("foo[].srt" , "" , -1 , false);
92
+ TEST_LANG_GUESS ("foo[en].srt" , "en" , 3 , 00 );
93
+ TEST_LANG_GUESS ("foo[en-US].srt" , "en-US" , 3 , 0 );
94
+ TEST_LANG_GUESS ("foo[en-US][hi].srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED );
95
+ TEST_LANG_GUESS ("foo[en-US][sdh].srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED );
96
+ TEST_LANG_GUESS ("foo[en-US][forced].srt" , "en-US" , 3 , TRACK_FORCED );
97
+ TEST_LANG_GUESS ("foo[en-US][forced][sdh].srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED | TRACK_FORCED );
98
+ TEST_LANG_GUESS ("foo[en-US][sdh][forced].srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED | TRACK_FORCED );
99
+ TEST_LANG_GUESS ("foo[].srt" , "" , -1 , 0 );
95
100
96
- TEST_LANG_GUESS ("foo(en).srt" , "en" , 3 , false);
97
- TEST_LANG_GUESS ("foo(en-US).srt" , "en-US" , 3 , false);
98
- TEST_LANG_GUESS ("foo(en-US)(hi).srt" , "en-US" , 3 , true);
99
- TEST_LANG_GUESS ("foo(en-US)(sdh).srt" , "en-US" , 3 , true);
100
- TEST_LANG_GUESS ("foo().srt" , "" , -1 , false);
101
+ TEST_LANG_GUESS ("foo(en).srt" , "en" , 3 , 0 );
102
+ TEST_LANG_GUESS ("foo(en-US).srt" , "en-US" , 3 , 0 );
103
+ TEST_LANG_GUESS ("foo(en-US)(hi).srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED );
104
+ TEST_LANG_GUESS ("foo(en-US)(sdh).srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED );
105
+ TEST_LANG_GUESS ("foo(en-US)(forced).srt" , "en-US" , 3 , TRACK_FORCED );
106
+ TEST_LANG_GUESS ("foo(en-US)(forced)(sdh).srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED | TRACK_FORCED );
107
+ TEST_LANG_GUESS ("foo(en-US)(sdh)(forced).srt" , "en-US" , 3 , TRACK_HEARING_IMPAIRED | TRACK_FORCED );
108
+ TEST_LANG_GUESS ("foo().srt" , "" , -1 , 0 );
101
109
102
110
talloc_free (ta_ctx );
103
111
}
0 commit comments