File indexing completed on 2024-03-24 04:57:13
0001 /* 0002 SPDX-FileCopyrightText: 2005-2006 Richard Lärkäng <nouseforaname@home.se> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "cdinfotest.h" 0008 #include <QTest> 0009 #include "libkcddb/cdinfo.h" 0010 0011 using namespace KCDDB; 0012 0013 void CDInfoTest::testLongLines() 0014 { 0015 CDInfo info; 0016 0017 QString str; 0018 0019 TrackInfo& tinfo = info.track(0); 0020 0021 for (int i=0; i <= 100; i++) 0022 { 0023 str.fill(QLatin1Char('A'),10*i); 0024 info.set(Title, str); 0025 str.fill(QLatin1Char('B'),10*i); 0026 str.append(QLatin1Char('\n')); 0027 info.set(Comment, str); 0028 str.fill(QLatin1Char('C'),10*i); 0029 info.set(Artist, str); 0030 str.fill(QLatin1Char('D'),10*i); 0031 info.set(Genre, str); 0032 str.fill(QLatin1Char('E'),10*i); 0033 info.set(Length, str); 0034 str.fill(QLatin1Char('F'),10*i); 0035 str.append(QLatin1Char('\n')); 0036 info.set(QString::fromUtf8("custom"), str); 0037 str.fill(QLatin1Char('G'),10*i); 0038 tinfo.set(Title, str); 0039 str.fill(QLatin1Char('H'),10*i); 0040 str.append(QLatin1Char('\n')); 0041 tinfo.set(QString::fromUtf8("custom"), str); 0042 QString data = info.toString(); 0043 QString submitData = info.toString(true); 0044 0045 CDInfo info2; 0046 info2.load(data); 0047 str.fill(QLatin1Char('A'),10*i); 0048 QCOMPARE(info2.get(Title).toString(), str); 0049 str.fill(QLatin1Char('B'),10*i); 0050 str.append(QLatin1Char('\n')); 0051 QCOMPARE(info2.get(Comment).toString(), str); 0052 str.fill(QLatin1Char('C'),10*i); 0053 QCOMPARE(info2.get(Artist).toString(), str); 0054 str.fill(QLatin1Char('D'),10*i); 0055 if (i == 0) 0056 QCOMPARE(info2.get(Genre).toString(), QString::fromUtf8("Unknown")); 0057 else 0058 QCOMPARE(info2.get(Genre).toString(), str); 0059 str.fill(QLatin1Char('E'),10*i); 0060 QCOMPARE(info2.get(Length).toString(), str); 0061 str.fill(QLatin1Char('F'),10*i); 0062 str.append(QLatin1Char('\n')); 0063 QCOMPARE(info2.get(QString::fromUtf8("custom")).toString(), str); 0064 str.fill(QLatin1Char('G'),10*i); 0065 QCOMPARE(info2.track(0).get(Title).toString(), str); 0066 const CDInfo info3(info2); 0067 QCOMPARE(info3.track(0).get(Title).toString(), str); 0068 str.fill(QLatin1Char('H'),10*i); 0069 str.append(QLatin1Char('\n')); 0070 QCOMPARE(info2.track(0).get(QString::fromUtf8("custom")).toString(), str); 0071 0072 QVERIFY(!submitData.contains(QString::fromUtf8("CUSTOM"))); 0073 QVERIFY(data.contains(QString::fromUtf8("CUSTOM"))); 0074 } 0075 } 0076 0077 QTEST_GUILESS_MAIN(CDInfoTest) 0078 0079 #include "moc_cdinfotest.cpp"