Merge branch 'master' into id3v23

This commit is contained in:
Lukáš Lalinský
2011-04-05 14:37:36 +02:00
14 changed files with 90 additions and 9 deletions

View File

@ -5,6 +5,7 @@
#include <tstringlist.h>
#include <tbytevectorlist.h>
#include <flacfile.h>
#include <xiphcomment.h>
#include "utils.h"
using namespace std;
@ -20,6 +21,7 @@ class TestFLAC : public CppUnit::TestFixture
CPPUNIT_TEST(testReplacePicture);
CPPUNIT_TEST(testRemoveAllPictures);
CPPUNIT_TEST(testRepeatedSave);
CPPUNIT_TEST(testSaveMultipleValues);
CPPUNIT_TEST_SUITE_END();
public:
@ -186,6 +188,26 @@ public:
CPPUNIT_ASSERT_EQUAL(String("NEW TITLE 2"), tag->title());
}
void testSaveMultipleValues()
{
ScopedFileCopy copy("silence-44-s", ".flac", false);
string newname = copy.fileName();
FLAC::File *f = new FLAC::File(newname.c_str());
Ogg::XiphComment* c = f->xiphComment(true);
c->addField("ARTIST", "artist 1", true);
c->addField("ARTIST", "artist 2", false);
f->save();
delete f;
f = new FLAC::File(newname.c_str());
c = f->xiphComment(true);
Ogg::FieldListMap m = c->fieldListMap();
CPPUNIT_ASSERT_EQUAL(TagLib::uint(2), m["ARTIST"].size());
CPPUNIT_ASSERT_EQUAL(String("artist 1"), m["ARTIST"][0]);
CPPUNIT_ASSERT_EQUAL(String("artist 2"), m["ARTIST"][1]);
}
};
CPPUNIT_TEST_SUITE_REGISTRATION(TestFLAC);