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