mkvtoolnix/tests/test-0359split_parts.rb
2021-07-07 16:10:13 +02:00

66 lines
2.4 KiB
Ruby
Executable File

#!/usr/bin/ruby -w
# T_359split_parts
describe "mkvmerge / --split parts:..."
test "data/avi/v-h264-aac.avi two output files" do
merge "--split parts:20s-30s,-40s data/avi/v-h264-aac.avi", :output => "#{tmp}-%02d"
result = [ hash_file("#{tmp}-01"), hash_file("#{tmp}-02"), File.exist?("#{tmp}-03") ? "bad" : "ok" ].join('+')
unlink_tmp_files
result
end
test "data/avi/v-h264-aac.avi one output file" do
merge "--split parts:20s-30s,+40s-50s data/avi/v-h264-aac.avi", :output => "#{tmp}-%02d"
result = [ hash_file("#{tmp}-%02d"), File.exist?("#{tmp}-02") ? fail("second file should not exist") : "ok" ].join('+')
unlink_tmp_files
result
end
test "data/avi/v-h264-aac.avi one output file, starting at 00:00:00" do
merge "--split parts:-30s,+40s-50s data/avi/v-h264-aac.avi", :output => "#{tmp}-%02d"
result = [ hash_file("#{tmp}-%02d"), File.exist?("#{tmp}-02") ? fail("second file should not exist") : "ok" ].join('+')
unlink_tmp_files
result
end
test "split timecodes + appending vs split parts" do
result = []
source = "data/mp4/10-DanseMacabreOp.40.m4a"
merge "--disable-lacing --split timestamps:01:21,01:52,03:07,03:51 #{source}", :output => "#{tmp}-%02d"
result += (1..5).collect { |idx| hash_file "#{tmp}-0#{idx}" }
merge "--disable-lacing #{tmp}-02 + #{tmp}-04", :output => "#{tmp}-appended"
result << hash_file("#{tmp}-appended")
output_appended = info "-s #{tmp}-appended", :output => :return
merge "--disable-lacing --split parts:01:21-01:52,+03:07-03:51 #{source}", :output => "#{tmp}-parts"
result << hash_file("#{tmp}-parts")
output_parts = info "-s #{tmp}-parts", :output => :return
fail "summary is different" if output_appended != output_parts
result << "ok"
unlink_tmp_files
result.join '+'
end
test "data/avi/v-h264-aac.avi three parts one output file, starting at 00:00:00" do
merge "--split parts:-10s,+20s-30s,+40s-50s data/avi/v-h264-aac.avi", :output => "#{tmp}-%02d"
result = [ hash_file("#{tmp}-%02d"), File.exist?("#{tmp}-02") ? fail("second file should not exist") : "ok" ].join('+')
unlink_tmp_files
result
end
test "data/avi/v-h264-aac.avi three parts one output file, starting at 00:00:10" do
merge "--split parts:10s-20s,+30s-40s,+50s-60s data/avi/v-h264-aac.avi", :output => "#{tmp}-%02d"
result = [ hash_file("#{tmp}-%02d"), File.exist?("#{tmp}-02") ? fail("second file should not exist") : "ok" ].join('+')
unlink_tmp_files
result
end