mirror of
https://github.com/taglib/taglib.git
synced 2025-07-22 15:04:24 -04:00
Merge branch 'master' into merge-master-to-taglib2
# Conflicts: # taglib/ape/apetag.cpp # taglib/ape/apetag.h # taglib/flac/flacproperties.cpp # taglib/mpeg/id3v1/id3v1tag.cpp # taglib/mpeg/id3v2/id3v2tag.cpp # taglib/riff/rifffile.cpp # taglib/riff/wav/infotag.cpp # taglib/toolkit/tbytevector.cpp
This commit is contained in:
BIN
tests/data/blank_video.m4v
Normal file
BIN
tests/data/blank_video.m4v
Normal file
Binary file not shown.
@ -64,14 +64,23 @@ public:
|
||||
{
|
||||
RIFF::AIFF::File f(newname.c_str());
|
||||
CPPUNIT_ASSERT(!f.hasID3v2Tag());
|
||||
|
||||
f.tag()->setTitle(L"TitleXXX");
|
||||
f.save();
|
||||
CPPUNIT_ASSERT(f.hasID3v2Tag());
|
||||
}
|
||||
|
||||
{
|
||||
RIFF::AIFF::File f(newname.c_str());
|
||||
CPPUNIT_ASSERT(f.hasID3v2Tag());
|
||||
CPPUNIT_ASSERT_EQUAL(String(L"TitleXXX"), f.tag()->title());
|
||||
|
||||
f.tag()->setTitle("");
|
||||
f.save();
|
||||
CPPUNIT_ASSERT(!f.hasID3v2Tag());
|
||||
}
|
||||
{
|
||||
RIFF::AIFF::File f(newname.c_str());
|
||||
CPPUNIT_ASSERT(!f.hasID3v2Tag());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -38,6 +38,7 @@ class TestFileRef : public CppUnit::TestFixture
|
||||
CPPUNIT_TEST(testMP4_1);
|
||||
CPPUNIT_TEST(testMP4_2);
|
||||
CPPUNIT_TEST(testMP4_3);
|
||||
CPPUNIT_TEST(testMP4_4);
|
||||
CPPUNIT_TEST(testTrueAudio);
|
||||
CPPUNIT_TEST(testAPE);
|
||||
CPPUNIT_TEST(testWav);
|
||||
@ -155,6 +156,11 @@ public:
|
||||
fileRefSave("no-tags", ".3g2");
|
||||
}
|
||||
|
||||
void testMP4_4()
|
||||
{
|
||||
fileRefSave("blank_video", ".m4v");
|
||||
}
|
||||
|
||||
void testWav()
|
||||
{
|
||||
fileRefSave("empty", ".wav");
|
||||
|
@ -17,6 +17,7 @@ class TestMP4 : public CppUnit::TestFixture
|
||||
CPPUNIT_TEST_SUITE(TestMP4);
|
||||
CPPUNIT_TEST(testPropertiesAAC);
|
||||
CPPUNIT_TEST(testPropertiesALAC);
|
||||
CPPUNIT_TEST(testPropertiesM4V);
|
||||
CPPUNIT_TEST(testFreeForm);
|
||||
CPPUNIT_TEST(testCheckValid);
|
||||
CPPUNIT_TEST(testHasTag);
|
||||
@ -64,6 +65,21 @@ public:
|
||||
CPPUNIT_ASSERT_EQUAL(MP4::AudioProperties::ALAC, f.audioProperties()->codec());
|
||||
}
|
||||
|
||||
void testPropertiesM4V()
|
||||
{
|
||||
MP4::File f(TEST_FILE_PATH_C("blank_video.m4v"));
|
||||
CPPUNIT_ASSERT(f.audioProperties());
|
||||
CPPUNIT_ASSERT_EQUAL(0, f.audioProperties()->length());
|
||||
CPPUNIT_ASSERT_EQUAL(0, f.audioProperties()->lengthInSeconds());
|
||||
CPPUNIT_ASSERT_EQUAL(975, f.audioProperties()->lengthInMilliseconds());
|
||||
CPPUNIT_ASSERT_EQUAL(96, f.audioProperties()->bitrate());
|
||||
CPPUNIT_ASSERT_EQUAL(2, f.audioProperties()->channels());
|
||||
CPPUNIT_ASSERT_EQUAL(44100, f.audioProperties()->sampleRate());
|
||||
CPPUNIT_ASSERT_EQUAL(16, f.audioProperties()->bitsPerSample());
|
||||
CPPUNIT_ASSERT_EQUAL(false, f.audioProperties()->isEncrypted());
|
||||
CPPUNIT_ASSERT_EQUAL(MP4::AudioProperties::AAC, f.audioProperties()->codec());
|
||||
}
|
||||
|
||||
void testCheckValid()
|
||||
{
|
||||
MP4::File f(TEST_FILE_PATH_C("empty.aiff"));
|
||||
|
@ -91,26 +91,29 @@ public:
|
||||
{
|
||||
RIFF::WAV::File f(filename.c_str());
|
||||
CPPUNIT_ASSERT(f.isValid());
|
||||
CPPUNIT_ASSERT(!f.hasID3v2Tag());
|
||||
|
||||
f.ID3v2Tag()->setTitle(L"Title");
|
||||
f.ID3v2Tag()->setArtist(L"Artist");
|
||||
f.save();
|
||||
CPPUNIT_ASSERT(f.hasID3v2Tag());
|
||||
}
|
||||
|
||||
{
|
||||
RIFF::WAV::File f(filename.c_str());
|
||||
CPPUNIT_ASSERT(f.isValid());
|
||||
CPPUNIT_ASSERT(f.hasID3v2Tag());
|
||||
CPPUNIT_ASSERT_EQUAL(String(L"Title"), f.ID3v2Tag()->title());
|
||||
CPPUNIT_ASSERT_EQUAL(String(L"Artist"), f.ID3v2Tag()->artist());
|
||||
|
||||
f.ID3v2Tag()->setTitle(L"");
|
||||
f.ID3v2Tag()->setArtist(L"");
|
||||
f.save();
|
||||
CPPUNIT_ASSERT(!f.hasID3v2Tag());
|
||||
}
|
||||
|
||||
{
|
||||
RIFF::WAV::File f(filename.c_str());
|
||||
CPPUNIT_ASSERT(f.isValid());
|
||||
CPPUNIT_ASSERT(!f.hasID3v2Tag());
|
||||
CPPUNIT_ASSERT_EQUAL(String(L""), f.ID3v2Tag()->title());
|
||||
CPPUNIT_ASSERT_EQUAL(String(L""), f.ID3v2Tag()->artist());
|
||||
}
|
||||
@ -124,26 +127,30 @@ public:
|
||||
{
|
||||
RIFF::WAV::File f(filename.c_str());
|
||||
CPPUNIT_ASSERT(f.isValid());
|
||||
CPPUNIT_ASSERT(!f.hasInfoTag());
|
||||
|
||||
f.InfoTag()->setTitle(L"Title");
|
||||
f.InfoTag()->setArtist(L"Artist");
|
||||
f.save();
|
||||
CPPUNIT_ASSERT(f.hasInfoTag());
|
||||
}
|
||||
|
||||
{
|
||||
RIFF::WAV::File f(filename.c_str());
|
||||
CPPUNIT_ASSERT(f.isValid());
|
||||
CPPUNIT_ASSERT(f.hasInfoTag());
|
||||
CPPUNIT_ASSERT_EQUAL(String(L"Title"), f.InfoTag()->title());
|
||||
CPPUNIT_ASSERT_EQUAL(String(L"Artist"), f.InfoTag()->artist());
|
||||
|
||||
f.InfoTag()->setTitle(L"");
|
||||
f.InfoTag()->setArtist(L"");
|
||||
f.save();
|
||||
CPPUNIT_ASSERT(!f.hasInfoTag());
|
||||
}
|
||||
|
||||
{
|
||||
RIFF::WAV::File f(filename.c_str());
|
||||
CPPUNIT_ASSERT(f.isValid());
|
||||
CPPUNIT_ASSERT(!f.hasInfoTag());
|
||||
CPPUNIT_ASSERT_EQUAL(String(L""), f.InfoTag()->title());
|
||||
CPPUNIT_ASSERT_EQUAL(String(L""), f.InfoTag()->artist());
|
||||
}
|
||||
|
Reference in New Issue
Block a user