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"
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)
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")
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