X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=test%2Ftest_main.rb;h=a4a14504d463f1bf3f91786fd7b28445b1f4c97b;hb=e04f6c2b90c9501fc613a130ee90863cc84f4a98;hp=21c4edf662f5ec5056088a63fb5363876a860aa7;hpb=fcd91ff1a3cc4a4f889abfd2af89119cbe262ad1;p=ruby-vorbistagger.git diff --git a/test/test_main.rb b/test/test_main.rb index 21c4edf..a4a1450 100644 --- a/test/test_main.rb +++ b/test/test_main.rb @@ -1,30 +1,13 @@ require "test/unit" require "ogg/vorbis/tagger" require "fileutils" -require "open3" +require "digest/md5" class MainTest < Test::Unit::TestCase OGG_FILE = "test/test.ogg" def setup - tmp =< "Ballista", + "genre" => "Death Metal", + } + + Ogg::Vorbis::Tagger.open(OGG_FILE) do |t| + t.comments.merge!(repl) + + assert_equal(["artist", "album", "date", "genre"], + t.comments.keys) + assert_equal(["Ballista", "...For Victory", "1994", + "Death Metal"], + t.comments.values) + end + end + + def test_shift + Ogg::Vorbis::Tagger.open(OGG_FILE) do |t| + assert_equal(["artist", "Bolt Thrower"], t.comments.shift) + assert_equal(["album", "...For Victory"], t.comments.shift) + assert_equal(["date", "1994"], t.comments.shift) + assert_equal(nil, t.comments.shift) + end + end + + def test_close + Ogg::Vorbis::Tagger.new(OGG_FILE).close + end + + def test_close2 + t = Ogg::Vorbis::Tagger.new(OGG_FILE) + t.close + + assert_raise(Ogg::Vorbis::Tagger::ClosedStreamError) do + t.close + end + + assert_raise(Ogg::Vorbis::Tagger::ClosedStreamError) do + Ogg::Vorbis::Tagger.open(OGG_FILE) do |t| + t.close + end + end + end + + def test_open_non_existing_file + assert_raises(Ogg::Vorbis::Tagger::OpenError) do + Ogg::Vorbis::Tagger.new("foo.bar") + end + end + + def test_open_non_ogg_file + File.open("test/foo.bar", "w") do |f| + f << "foobarbazxyzzy" + end + + assert_raises(Ogg::Vorbis::Tagger::InvalidDataError) do + Ogg::Vorbis::Tagger.new("test/foo.bar") + end + ensure + FileUtils.rm_f("test/foo.bar") + end end