mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2024-12-23 19:31:44 +00:00
36 lines
1.2 KiB
Ruby
Executable File
36 lines
1.2 KiB
Ruby
Executable File
#!/usr/bin/ruby -w
|
|
|
|
# T_730track_selection_by_language_matching
|
|
describe "mkvmerge / track selection by language matching"
|
|
|
|
def track_languages file
|
|
identify_json(file)["tracks"].map { |track| track["properties"]["language_ietf"] }
|
|
end
|
|
|
|
def test_remux src, languages_args, languages_result = nil
|
|
out = "#{tmp}-2"
|
|
args = languages_args.join(',')
|
|
|
|
test_merge "--stracks #{args} #{src}", :output => out, :keep_tmp => true
|
|
test("languages #{args}") { track_languages(out) == (languages_result || languages_args) }
|
|
end
|
|
|
|
src1 = "data/subtitles/srt/ven.srt"
|
|
src2 = "#{tmp}-1"
|
|
all_languages = %w{de de-CH es es-ES es-MX es-US}
|
|
args = all_languages.
|
|
map { |language| "--language 0:#{language} #{src1}" }.
|
|
join(" ")
|
|
|
|
test_merge args, :output => src2, :keep_tmp => true
|
|
test("languages orig") { track_languages(src2) == all_languages }
|
|
|
|
test_remux src2, all_languages
|
|
test_remux src2, %w{es-ES es-US}
|
|
test_remux src2, %w{es-MX}
|
|
test_remux src2, %w{!es-MX}, %w{de de-CH es es-ES es-US}
|
|
test_remux src2, %w{es}, %w{es es-ES es-MX es-US}
|
|
test_remux src2, %w{de}, %w{de de-CH}
|
|
test_remux src2, %w{es de}, all_languages
|
|
test_remux src2, %w{!de}, %w{es es-ES es-MX es-US}
|