]> granicus.if.org Git - taglib/commitdiff
Merge branch 'master' of https://github.com/dukeyin/taglib into dukeyin-master
authorTsuda Kageyu <tsuda.kageyu@gmail.com>
Thu, 24 Dec 2015 04:47:55 +0000 (13:47 +0900)
committerTsuda Kageyu <tsuda.kageyu@gmail.com>
Thu, 24 Dec 2015 04:47:55 +0000 (13:47 +0900)
# Conflicts:
# tests/test_id3v2.cpp

1  2 
taglib/mpeg/id3v2/id3v2tag.cpp
tests/test_id3v2.cpp

Simple merge
index c6303beea065f45457593d8d0fcc42d6dda74db6,fb1924505a419a54a1f3d0829359aa36feb7d9f6..e8d87fced54ca647ccaabc643e9e0ee282f6dadc
@@@ -657,60 -528,59 +657,62 @@@ public
      string newname = copy.fileName();
  
      ID3v2::TextIdentificationFrame *tf;
 -    MPEG::File foo(newname.c_str());
 -    tf = new ID3v2::TextIdentificationFrame("TDOR", String::Latin1);
 -    tf->setText("2011-03-16");
 -    foo.ID3v2Tag()->addFrame(tf);
 -    tf = new ID3v2::TextIdentificationFrame("TDRC", String::Latin1);
 -    tf->setText("2012-04-17T12:01");
 -    foo.ID3v2Tag()->addFrame(tf);
 -    tf = new ID3v2::TextIdentificationFrame("TMCL", String::Latin1);
 -    tf->setText(StringList().append("Guitar").append("Artist 1").append("Drums").append("Artist 2"));
 -    foo.ID3v2Tag()->addFrame(tf);
 -    tf = new ID3v2::TextIdentificationFrame("TIPL", String::Latin1);
 -    tf->setText(StringList().append("Producer").append("Artist 3").append("Mastering").append("Artist 4"));
 -    foo.ID3v2Tag()->addFrame(tf);
 -    foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TDRL", String::Latin1));
 -    foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TDTG", String::Latin1));
 -    foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TMOO", String::Latin1));
 -    foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TPRO", String::Latin1));
 -    foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TSOA", String::Latin1));
 -    foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TSOT", String::Latin1));
 -    foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TSST", String::Latin1));
 -    foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TSOP", String::Latin1));
 -    foo.save(MPEG::File::AllTags, true, 3);
 -
 -    MPEG::File bar(newname.c_str());
 -    tf = static_cast<ID3v2::TextIdentificationFrame *>(bar.ID3v2Tag()->frameList("TDOR").front());
 -    CPPUNIT_ASSERT(tf);
 -    CPPUNIT_ASSERT_EQUAL(TagLib::uint(1), tf->fieldList().size());
 -    CPPUNIT_ASSERT_EQUAL(String("2011"), tf->fieldList().front());
 -    tf = static_cast<ID3v2::TextIdentificationFrame *>(bar.ID3v2Tag()->frameList("TDRC").front());
 -    CPPUNIT_ASSERT(tf);
 -    CPPUNIT_ASSERT_EQUAL(TagLib::uint(1), tf->fieldList().size());
 -    CPPUNIT_ASSERT_EQUAL(String("2012"), tf->fieldList().front());
 -    tf = dynamic_cast<ID3v2::TextIdentificationFrame *>(bar.ID3v2Tag()->frameList("TIPL").front());
 -    CPPUNIT_ASSERT(tf);
 -    CPPUNIT_ASSERT_EQUAL(TagLib::uint(8), tf->fieldList().size());
 -    CPPUNIT_ASSERT_EQUAL(String("Guitar"), tf->fieldList()[0]);
 -    CPPUNIT_ASSERT_EQUAL(String("Artist 1"), tf->fieldList()[1]);
 -    CPPUNIT_ASSERT_EQUAL(String("Drums"), tf->fieldList()[2]);
 -    CPPUNIT_ASSERT_EQUAL(String("Artist 2"), tf->fieldList()[3]);
 -    CPPUNIT_ASSERT_EQUAL(String("Producer"), tf->fieldList()[4]);
 -    CPPUNIT_ASSERT_EQUAL(String("Artist 3"), tf->fieldList()[5]);
 -    CPPUNIT_ASSERT_EQUAL(String("Mastering"), tf->fieldList()[6]);
 -    CPPUNIT_ASSERT_EQUAL(String("Artist 4"), tf->fieldList()[7]);
 -    CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TDRL"));
 -    CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TDTG"));
 -    CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TMOO"));
 -    CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TPRO"));
 -#ifdef NO_ITUNES_HACKS 
 -    CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TSOA"));
 -    CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TSOT"));
 -    CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TSOP"));
 +    {
 +      MPEG::File foo(newname.c_str());
 +      tf = new ID3v2::TextIdentificationFrame("TDOR", String::Latin1);
 +      tf->setText("2011-03-16");
 +      foo.ID3v2Tag()->addFrame(tf);
 +      tf = new ID3v2::TextIdentificationFrame("TDRC", String::Latin1);
 +      tf->setText("2012-04-17T12:01");
 +      foo.ID3v2Tag()->addFrame(tf);
 +      tf = new ID3v2::TextIdentificationFrame("TMCL", String::Latin1);
 +      tf->setText(StringList().append("Guitar").append("Artist 1").append("Drums").append("Artist 2"));
 +      foo.ID3v2Tag()->addFrame(tf);
 +      tf = new ID3v2::TextIdentificationFrame("TIPL", String::Latin1);
 +      tf->setText(StringList().append("Producer").append("Artist 3").append("Mastering").append("Artist 4"));
 +      foo.ID3v2Tag()->addFrame(tf);
 +      foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TDRL", String::Latin1));
 +      foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TDTG", String::Latin1));
 +      foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TMOO", String::Latin1));
 +      foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TPRO", String::Latin1));
 +      foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TSOA", String::Latin1));
 +      foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TSOT", String::Latin1));
 +      foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TSST", String::Latin1));
 +      foo.ID3v2Tag()->addFrame(new ID3v2::TextIdentificationFrame("TSOP", String::Latin1));
 +      foo.save(MPEG::File::AllTags, true, 3);
 +    }
 +    {
 +      MPEG::File bar(newname.c_str());
 +      tf = static_cast<ID3v2::TextIdentificationFrame *>(bar.ID3v2Tag()->frameList("TDOR").front());
 +      CPPUNIT_ASSERT(tf);
 +      CPPUNIT_ASSERT_EQUAL((unsigned int)1, tf->fieldList().size());
 +      CPPUNIT_ASSERT_EQUAL(String("2011"), tf->fieldList().front());
 +      tf = static_cast<ID3v2::TextIdentificationFrame *>(bar.ID3v2Tag()->frameList("TDRC").front());
 +      CPPUNIT_ASSERT(tf);
 +      CPPUNIT_ASSERT_EQUAL((unsigned int)1, tf->fieldList().size());
 +      CPPUNIT_ASSERT_EQUAL(String("2012-04-17T12:01"), tf->fieldList().front());
 +      tf = dynamic_cast<ID3v2::TextIdentificationFrame *>(bar.ID3v2Tag()->frameList("TIPL").front());
 +      CPPUNIT_ASSERT(tf);
 +      CPPUNIT_ASSERT_EQUAL((unsigned int)8, tf->fieldList().size());
 +      CPPUNIT_ASSERT_EQUAL(String("Guitar"), tf->fieldList()[0]);
 +      CPPUNIT_ASSERT_EQUAL(String("Artist 1"), tf->fieldList()[1]);
 +      CPPUNIT_ASSERT_EQUAL(String("Drums"), tf->fieldList()[2]);
 +      CPPUNIT_ASSERT_EQUAL(String("Artist 2"), tf->fieldList()[3]);
 +      CPPUNIT_ASSERT_EQUAL(String("Producer"), tf->fieldList()[4]);
 +      CPPUNIT_ASSERT_EQUAL(String("Artist 3"), tf->fieldList()[5]);
 +      CPPUNIT_ASSERT_EQUAL(String("Mastering"), tf->fieldList()[6]);
 +      CPPUNIT_ASSERT_EQUAL(String("Artist 4"), tf->fieldList()[7]);
 +      CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TDRL"));
 +      CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TDTG"));
 +      CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TMOO"));
 +      CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TPRO"));
++#ifdef NO_ITUNES_HACKS
 +      CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TSOA"));
 +      CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TSOT"));
-       CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TSST"));
 +      CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TSOP"));
-     }
+ #endif
 -    CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TSST"));
++      CPPUNIT_ASSERT(!bar.ID3v2Tag()->frameListMap().contains("TSST"));
++}
    }
  
    void testCompressedFrameWithBrokenLength()