// Create new vorbis comments
- Tag::duplicate(&d->tag, xiphComment(true), true);
+ Tag::duplicate(&d->tag, xiphComment(true), false);
d->xiphCommentData = xiphComment()->render(false);
#include <tstringlist.h>
#include <tbytevectorlist.h>
#include <flacfile.h>
+#include <xiphcomment.h>
#include "utils.h"
using namespace std;
CPPUNIT_TEST(testReplacePicture);
CPPUNIT_TEST(testRemoveAllPictures);
CPPUNIT_TEST(testRepeatedSave);
+ CPPUNIT_TEST(testSaveMultipleValues);
CPPUNIT_TEST_SUITE_END();
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);