From bb2a2dcd813175bc4e1dc5ae087795ec18be8fa6 Mon Sep 17 00:00:00 2001 From: Tilman Sauerbeck Date: Wed, 16 Aug 2006 19:10:06 +0200 Subject: [PATCH] Added two tests that ensure that writing comments doesn't corrupt files. --- test/test_main.rb | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) 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) -- 2.30.2