diff options
author | Scott Wheeler <scott@directededge.com> | 2019-09-11 05:55:30 +0200 |
---|---|---|
committer | Scott Wheeler <scott@directededge.com> | 2019-09-11 06:48:27 +0200 |
commit | f1b40de66b1c73fbbd28237c55fb5cb9ae6a8bb6 (patch) | |
tree | 0eb918c9ab8db43fdcb777817e429d87dbbbf5ba /tests/test_wav.cpp | |
parent | 0b99cd9bac52e0aa398b46511580b2a6aba393cf (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.cpp | 28 |
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()); |