From: Tilman Sauerbeck Date: Wed, 16 Aug 2006 17:10:06 +0000 (+0200) Subject: Added two tests that ensure that writing comments doesn't corrupt files. X-Git-Tag: ruby-vorbistagger-0.0.1~30 X-Git-Url: http://git.code-monkey.de/?p=ruby-vorbistagger.git;a=commitdiff_plain;h=bb2a2dcd813175bc4e1dc5ae087795ec18be8fa6 Added two tests that ensure that writing comments doesn't corrupt files. --- diff --git a/test/test_main.rb b/test/test_main.rb index 3003783..bbc5b00 100644 --- a/test/test_main.rb +++ b/test/test_main.rb @@ -1,6 +1,7 @@ require "test/unit" require "ogg/vorbis/tagger" require "fileutils" +require "digest/md5" class MainTest < Test::Unit::TestCase OGG_FILE = "test/test.ogg" @@ -29,6 +30,32 @@ class MainTest < Test::Unit::TestCase end end + def test_write_is_non_destructive + a = Digest::MD5.hexdigest(File.read(OGG_FILE)) + + Ogg::Vorbis::Tagger.open(OGG_FILE) do |t| + t.write + end + + b = Digest::MD5.hexdigest(File.read(OGG_FILE)) + + assert_equal(a, b) + end + + def test_multiple_writes + a = Digest::MD5.hexdigest(File.read(OGG_FILE)) + + Ogg::Vorbis::Tagger.open(OGG_FILE) do |t| + 1.upto(10) do + t.write + end + end + + b = Digest::MD5.hexdigest(File.read(OGG_FILE)) + + assert_equal(a, b) + end + def test_write_stable_order Ogg::Vorbis::Tagger.open(OGG_FILE) do |t| assert_equal(3, t.write)