X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=test%2Ftest_main.rb;h=fe622e674a70fd2e1517f595023c40ffc370b04f;hb=c623a45b47d3061c47eac5abd4867913c9230b36;hp=6da6d6dd556d90920819c3fa914d3032b89f428c;hpb=d7ed284661fdb25ab8df4d95e1f52b2ef007a143;p=ruby-vorbistagger.git diff --git a/test/test_main.rb b/test/test_main.rb index 6da6d6d..fe622e6 100644 --- a/test/test_main.rb +++ b/test/test_main.rb @@ -77,6 +77,16 @@ class MainTest < Test::Unit::TestCase end end + def test_write_keeps_file_mode + mode = File.stat(OGG_FILE).mode + + Ogg::Vorbis::Tagger.open(OGG_FILE) do |t| + t.write + end + + assert_equal(mode, File.stat(OGG_FILE).mode) + end + def test_append Ogg::Vorbis::Tagger.open(OGG_FILE) do |t| t.comments["genre"] = "Death Metal" @@ -240,6 +250,14 @@ EOF end end + def test_merge_bad_arg + Ogg::Vorbis::Tagger.open(OGG_FILE) do |t| + assert_raises(ArgumentError) do + t.comments.merge!(42) + end + end + end + def test_shift Ogg::Vorbis::Tagger.open(OGG_FILE) do |t| assert_equal(["artist", "Bolt Thrower"], t.comments.shift) @@ -253,6 +271,21 @@ EOF 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") @@ -270,4 +303,9 @@ EOF ensure FileUtils.rm_f("test/foo.bar") end + + def test_standalone_comments_object + o = Ogg::Vorbis::Comments.new + assert_equal(o.length, 0); + end end