]> granicus.if.org Git - taglib/commitdiff
Show something useful for ChapterFrame::toString()
authorScott Wheeler <scott@directededge.com>
Mon, 18 May 2015 17:51:18 +0000 (19:51 +0200)
committerScott Wheeler <scott@directededge.com>
Mon, 18 May 2015 17:51:18 +0000 (19:51 +0200)
Closes #517

taglib/mpeg/id3v2/frames/chapterframe.cpp
tests/test_id3v2.cpp

index 99572888f0670d1c515d2a23b7abe0eda33fdb40..6024ca7e4c022d2b5bc77dccedb98f87d9733b34 100644 (file)
@@ -190,7 +190,25 @@ void ChapterFrame::removeEmbeddedFrames(const ByteVector &id)
 
 String ChapterFrame::toString() const
 {
-  return String::null;
+  String s = String(d->elementID) +
+             ": start time: " + String::number(d->startTime) +
+             ", end time: " + String::number(d->endTime);
+
+  if(d->startOffset != 0xFFFFFFFF)
+    s += ", start offset: " + String::number(d->startOffset);
+
+  if(d->endOffset != 0xFFFFFFFF)
+    s += ", start offset: " + String::number(d->endOffset);
+
+  if(!d->embeddedFrameList.isEmpty()) {
+    StringList frameIDs;
+    for(FrameList::ConstIterator it = d->embeddedFrameList.begin();
+        it != d->embeddedFrameList.end(); ++it)
+      frameIDs.append((*it)->frameID());
+    s += ", sub-frames: [ " + frameIDs.toString(", ") + " ]";
+  }
+
+  return s;
 }
 
 PropertyMap ChapterFrame::asProperties() const
index c2609cab29cf8c448c03bd037f54c31fc8a25224..c81f726cc8ac7998ef25dabfdc439297bf63fcae 100644 (file)
@@ -986,12 +986,14 @@ public:
     ID3v2::ChapterFrame f4("C", 3, 5, 2, 3, frames);
     CPPUNIT_ASSERT_EQUAL(expected, f4.render());
 
+    CPPUNIT_ASSERT(!f4.toString().isEmpty());
+
     ID3v2::ChapterFrame f5("C", 3, 5, 2, 3);
     eF = new ID3v2::TextIdentificationFrame("TIT2");
     eF->setText("CH1");
     f5.addEmbeddedFrame(eF);
     CPPUNIT_ASSERT_EQUAL(expected, f5.render());
-}
+  }
 
   void testParseTableOfContentsFrame()
   {