aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_wav.cpp
diff options
context:
space:
mode:
authorScott Wheeler <scott@directededge.com>2019-09-11 05:55:30 +0200
committerScott Wheeler <scott@directededge.com>2019-09-11 06:48:27 +0200
commitf1b40de66b1c73fbbd28237c55fb5cb9ae6a8bb6 (patch)
tree0eb918c9ab8db43fdcb777817e429d87dbbbf5ba /tests/test_wav.cpp
parent0b99cd9bac52e0aa398b46511580b2a6aba393cf (diff)
Unify File::save(...) APIs between file formats that support ID3v2
Closes #922
Diffstat (limited to 'tests/test_wav.cpp')
-rw-r--r--tests/test_wav.cpp28
1 files changed, 26 insertions, 2 deletions
diff --git a/tests/test_wav.cpp b/tests/test_wav.cpp
index 8e96795f..fd0c04f7 100644
--- a/tests/test_wav.cpp
+++ b/tests/test_wav.cpp
@@ -44,6 +44,7 @@ class TestWAV : public CppUnit::TestFixture
CPPUNIT_TEST(testFloatProperties);
CPPUNIT_TEST(testZeroSizeDataChunk);
CPPUNIT_TEST(testID3v2Tag);
+ CPPUNIT_TEST(testSaveID3v23);
CPPUNIT_TEST(testInfoTag);
CPPUNIT_TEST(testStripTags);
CPPUNIT_TEST(testDuplicateTags);
@@ -139,6 +140,29 @@ public:
}
}
+ void testSaveID3v23()
+ {
+ ScopedFileCopy copy("empty", ".wav");
+ string newname = copy.fileName();
+
+ String xxx = ByteVector(254, 'X');
+ {
+ RIFF::WAV::File f(newname.c_str());
+ CPPUNIT_ASSERT_EQUAL(false, f.hasID3v2Tag());
+
+ f.tag()->setTitle(xxx);
+ f.tag()->setArtist("Artist A");
+ f.save(RIFF::WAV::File::AllTags, File::StripOthers, ID3v2::v3);
+ CPPUNIT_ASSERT_EQUAL(true, f.hasID3v2Tag());
+ }
+ {
+ RIFF::WAV::File f2(newname.c_str());
+ CPPUNIT_ASSERT_EQUAL((unsigned int)3, f2.ID3v2Tag()->header()->majorVersion());
+ CPPUNIT_ASSERT_EQUAL(String("Artist A"), f2.tag()->artist());
+ CPPUNIT_ASSERT_EQUAL(xxx, f2.tag()->title());
+ }
+ }
+
void testInfoTag()
{
ScopedFileCopy copy("empty", ".wav");
@@ -191,7 +215,7 @@ public:
RIFF::WAV::File f(filename.c_str());
CPPUNIT_ASSERT(f.hasID3v2Tag());
CPPUNIT_ASSERT(f.hasInfoTag());
- f.save(RIFF::WAV::File::ID3v2, true);
+ f.save(RIFF::WAV::File::ID3v2, File::StripOthers);
}
{
RIFF::WAV::File f(filename.c_str());
@@ -205,7 +229,7 @@ public:
RIFF::WAV::File f(filename.c_str());
CPPUNIT_ASSERT(f.hasID3v2Tag());
CPPUNIT_ASSERT(f.hasInfoTag());
- f.save(RIFF::WAV::File::Info, true);
+ f.save(RIFF::WAV::File::Info, File::StripOthers);
}
{
RIFF::WAV::File f(filename.c_str());