Revision: 1417
Author: tkrotoff
Date: Wed Feb 16 06:06:34 2011
Log: Improve unit tests for PlaylistParser
http://code.google.com/p/quarkplayer/source/detail?r=1417
Modified:
/trunk/tests/libs/PlaylistParser/PlaylistParserTest.cpp
/trunk/tests/libs/PlaylistParser/PlaylistParserTest.h
/trunk/tests/libs/PlaylistParser/TheKMPlayer/test.ASX
/trunk/tests/libs/PlaylistParser/TheKMPlayer/test.KPL
/trunk/tests/libs/PlaylistParser/TheKMPlayer/test.M3U
/trunk/tests/libs/PlaylistParser/TheKMPlayer/test.PLS
/trunk/tests/libs/PlaylistParser/VLC/test.html
/trunk/tests/libs/PlaylistParser/VLC/test.m3u
/trunk/tests/libs/PlaylistParser/VLC/test.m3u8
/trunk/tests/libs/PlaylistParser/VLC/test.xspf
/trunk/tests/libs/PlaylistParser/Winamp/test-noroot.m3u
/trunk/tests/libs/PlaylistParser/Winamp/test.m3u
/trunk/tests/libs/PlaylistParser/Winamp/test.m3u8
/trunk/tests/libs/PlaylistParser/Winamp/test.pls
/trunk/tests/libs/PlaylistParser/foobar2000/test.xspf
/trunk/tests/libs/PlaylistParser/mp3/1.mp3
/trunk/tests/libs/PlaylistParser/mp3/2.mp3
/trunk/tests/libs/PlaylistParser/mp3/3.mp3
=======================================
--- /trunk/tests/libs/PlaylistParser/PlaylistParserTest.cpp Tue Feb 15
08:44:25 2011
+++ /trunk/tests/libs/PlaylistParser/PlaylistParserTest.cpp Wed Feb 16
06:06:34 2011
@@ -84,7 +84,6 @@
<< 0;
loadPlaylistM3U();
- loadPlaylistM3U8();
loadPlaylistWPL();
loadPlaylistPLS();
loadPlaylistASX();
@@ -100,6 +99,31 @@
<< MediaInfo("C:\\4.mp3")
<< MediaInfo("C:\\5.mp3");
}
+
+QList<MediaInfo> localM3UPlaylist_WithMetaDatas() {
+ QList<MediaInfo> mediaInfoList;
+
+ MediaInfo m1("C:\\1.mp3");
+ mediaInfoList << m1;
+
+ MediaInfo m2("C:\\2.mp3");
+ m2.setMetaData(MediaInfo::Title, "Title2");
+ mediaInfoList << m2;
+
+ MediaInfo m3("C:\\3.mp3");
+ //m3.setMetaData(MediaInfo::Title, "Artist3 - 3");
+ mediaInfoList << m3;
+
+ MediaInfo m4("C:\\4.mp3");
+ m4.setMetaData(MediaInfo::Title, "Artist4 - Title4");
+ mediaInfoList << m4;
+
+ MediaInfo m5("C:\\5.mp3");
+ m5.setMetaData(MediaInfo::Title, "Artist5 - Title5");
+ mediaInfoList << m5;
+
+ return mediaInfoList;
+}
QList<MediaInfo> localM3UPlaylist_NoRoot() {
return QList<MediaInfo>()
@@ -118,6 +142,73 @@
<< MediaInfo("..\\mp3\\4.mp3")
<< MediaInfo("..\\mp3\\5.mp3");
}
+
+QList<MediaInfo> localXSPFPlaylist() {
+ QList<MediaInfo> mediaInfoList;
+
+ MediaInfo m1("file:///C:/1.mp3");
+ mediaInfoList << m1;
+
+ MediaInfo m2("file:///C:/2.mp3");
+ m2.setMetaData(MediaInfo::TrackNumber, 2);
+ //m2.setMetaData(MediaInfo::DiscNumber, 2);
+ //m2.setMetaData(MediaInfo::BPM, 2);
+ m2.setMetaData(MediaInfo::Title, "Title2");
+ m2.setMetaData(MediaInfo::Album, "Album2");
+ //m2.setMetaData(MediaInfo::AlbumArtist, "Album Artist2");
+ //m2.setMetaData(MediaInfo::Year, 2011);
+ //m2.setMetaData(MediaInfo::Genre, "Genre2");
+ m2.setMetaData(MediaInfo::Comment, "Comment2");
+ //m2.setMetaData(MediaInfo::Composer, "Composer2");
+ //m2.setMetaData(MediaInfo::Publisher, "Publisher2");
+ mediaInfoList << m2;
+
+ MediaInfo m3("file:///C:/3.mp3");
+ m3.setMetaData(MediaInfo::TrackNumber, 3);
+ //m3.setMetaData(MediaInfo::DiscNumber, 3);
+ //m3.setMetaData(MediaInfo::BPM, 3);
+ m3.setMetaData(MediaInfo::Artist, "Artist3");
+ m3.setMetaData(MediaInfo::Album, "Album3");
+ //m3.setMetaData(MediaInfo::AlbumArtist, "Album Artist3");
+ //m3.setMetaData(MediaInfo::Year, 2011);
+ //m3.setMetaData(MediaInfo::Genre, "Genre3");
+ m3.setMetaData(MediaInfo::Comment, "Comment3");
+ //m3.setMetaData(MediaInfo::Composer, "Composer3");
+ //m3.setMetaData(MediaInfo::Publisher, "Publisher3");
+ mediaInfoList << m3;
+
+ MediaInfo m4("file:///C:/4.mp3");
+ m4.setMetaData(MediaInfo::TrackNumber, 4);
+ //m4.setMetaData(MediaInfo::DiscNumber, 4);
+ //m4.setMetaData(MediaInfo::BPM, 4);
+ m4.setMetaData(MediaInfo::Title, "Title4");
+ m4.setMetaData(MediaInfo::Artist, "Artist4");
+ m4.setMetaData(MediaInfo::Album, "Album4");
+ //m4.setMetaData(MediaInfo::AlbumArtist, "Album Artist4");
+ //m4.setMetaData(MediaInfo::Year, 2011);
+ //m4.setMetaData(MediaInfo::Genre, "Genre4");
+ m4.setMetaData(MediaInfo::Comment, "Comment4");
+ //m4.setMetaData(MediaInfo::Composer, "Composer4");
+ //m4.setMetaData(MediaInfo::Publisher, "Publisher4");
+ mediaInfoList << m4;
+
+ MediaInfo m5("file:///C:/5.mp3");
+ m5.setMetaData(MediaInfo::TrackNumber, 5);
+ //m5.setMetaData(MediaInfo::DiscNumber, 5);
+ //m5.setMetaData(MediaInfo::BPM, 5);
+ m5.setMetaData(MediaInfo::Title, "Title5");
+ m5.setMetaData(MediaInfo::Artist, "Artist5");
+ m5.setMetaData(MediaInfo::Album, "Album5");
+ //m5.setMetaData(MediaInfo::AlbumArtist, "Album Artist5");
+ //m5.setMetaData(MediaInfo::Year, 2011);
+ //m5.setMetaData(MediaInfo::Genre, "Genre5");
+ m5.setMetaData(MediaInfo::Comment, "Comment5");
+ //m5.setMetaData(MediaInfo::Composer, "Composer5");
+ //m5.setMetaData(MediaInfo::Publisher, "Publisher5");
+ mediaInfoList << m5;
+
+ return mediaInfoList;
+}
void PlaylistParserTest::loadPlaylistM3U() {
//Foobar
@@ -141,16 +232,30 @@
<< static_cast<int>(QFile::NoError)
<< 0;
+ //VLC
+ QTest::newRow("VLC M3U") << ":/VLC/test.m3u"
+ << localM3UPlaylist_WithMetaDatas()
+ << static_cast<int>(PlaylistParser::NoError)
+ << static_cast<int>(QFile::NoError)
+ << 0;
+
+ //VLC
+ QTest::newRow("VLC M3U8") << ":/VLC/test.m3u8"
+ << localM3UPlaylist_WithMetaDatas()
+ << static_cast<int>(PlaylistParser::NoError)
+ << static_cast<int>(QFile::NoError)
+ << 0;
+
//Winamp
QTest::newRow("Winamp M3U") << ":/Winamp/test.m3u"
- << localM3UPlaylist()
+ << localM3UPlaylist_WithMetaDatas()
<< static_cast<int>(PlaylistParser::NoError)
<< static_cast<int>(QFile::NoError)
<< 0;
//Winamp
QTest::newRow("Winamp M3U8") << ":/Winamp/test.m3u8"
- << localM3UPlaylist()
+ << localM3UPlaylist_WithMetaDatas()
<< static_cast<int>(PlaylistParser::NoError)
<< static_cast<int>(QFile::NoError)
<< 0;
@@ -212,9 +317,6 @@
<< static_cast<int>(QFile::NoError)
<< 0;
}
-
-void PlaylistParserTest::loadPlaylistM3U8() {
-}
void PlaylistParserTest::loadPlaylistWPL() {
//WindowsMediaPlayer
@@ -272,6 +374,19 @@
}
void PlaylistParserTest::loadPlaylistXSPF() {
+ //Foobar
+ QTest::newRow("Foobar XSPF") << ":/foobar2000/test.xspf"
+ << localXSPFPlaylist()
+ << static_cast<int>(PlaylistParser::NoError)
+ << static_cast<int>(QFile::NoError)
+ << 0;
+
+ //VLC
+ QTest::newRow("VLC XSPF") << ":/VLC/test.xspf"
+ << localXSPFPlaylist()
+ << static_cast<int>(PlaylistParser::NoError)
+ << static_cast<int>(QFile::NoError)
+ << 0;
}
void PlaylistParserTest::loadPlaylistCUE() {
@@ -314,6 +429,13 @@
for (int i = 0; i < filesFound.size(); i++) {
//Only compare the filenames, not the metadatas
QCOMPARE(filesFound[i].fileName(), files[i].fileName());
+
+ for (int metaData = MediaInfo::MIN; metaData <= MediaInfo::MAX;
metaData++) {
+ if (filesFound[i].metaDataValue((MediaInfo::MetaData)
metaData).isValid()) {
+ QCOMPARE(filesFound[i].metaDataValue((MediaInfo::MetaData) metaData),
+ files[i].metaDataValue((MediaInfo::MetaData) metaData));
+ }
+ }
}
}
=======================================
--- /trunk/tests/libs/PlaylistParser/PlaylistParserTest.h Tue Feb 15
08:44:25 2011
+++ /trunk/tests/libs/PlaylistParser/PlaylistParserTest.h Wed Feb 16
06:06:34 2011
@@ -99,7 +99,6 @@
private:
void loadPlaylistM3U();
- void loadPlaylistM3U8();
void loadPlaylistWPL();
void loadPlaylistPLS();
void loadPlaylistASX();
=======================================
--- /trunk/tests/libs/PlaylistParser/TheKMPlayer/test.ASX Tue Feb 15
06:27:04 2011
+++ /trunk/tests/libs/PlaylistParser/TheKMPlayer/test.ASX Wed Feb 16
06:06:34 2011
@@ -1,17 +1,17 @@
<Asx Version = "3.0" >
<Param Name = "Name" Value = "PlayList" />
<Entry>
-<Title>"Artist1 - Title1(Album1)"</Title>
+<Title>"1.mp3"</Title>
<Ref href = "C:\1.mp3"/>
</Entry>
<Entry>
-<Title>"Artist2 - Title2(Album2)"</Title>
+<Title>"Title2(Album2)"</Title>
<Ref href = "C:\2.mp3"/>
</Entry>
<Entry>
-<Title>"Artist3 - Title3(Album3)"</Title>
+<Title>"Artist3 - (Album3)"</Title>
<Ref href = "C:\3.mp3"/>
</Entry>
=======================================
--- /trunk/tests/libs/PlaylistParser/TheKMPlayer/test.M3U Tue Feb 15
06:27:04 2011
+++ /trunk/tests/libs/PlaylistParser/TheKMPlayer/test.M3U Wed Feb 16
06:06:34 2011
@@ -1,9 +1,9 @@
#EXTM3U
-#EXTINF:0,Artist1 - Title1(Album1)
+#EXTINF:0,1.mp3
C:\1.mp3
-#EXTINF:1,Artist2 - Title2(Album2)
+#EXTINF:1,Title2(Album2)
C:\2.mp3
-#EXTINF:2,Artist3 - Title3(Album3)
+#EXTINF:2,Artist3 - (Album3)
C:\3.mp3
#EXTINF:3,Artist4 - Title4(Album4)
C:\4.mp3
=======================================
--- /trunk/tests/libs/PlaylistParser/TheKMPlayer/test.PLS Tue Feb 15
06:27:04 2011
+++ /trunk/tests/libs/PlaylistParser/TheKMPlayer/test.PLS Wed Feb 16
06:06:34 2011
@@ -1,14 +1,14 @@
[playlist]
File1=C:\1.mp3
-Title1=Artist1 - Title1(Album1)
+Title1=1.mp3
Length1=648
Played1=0
File2=C:\2.mp3
-Title2=Artist2 - Title2(Album2)
+Title2=Title2(Album2)
Length2=648
Played2=0
File3=C:\3.mp3
-Title3=Artist3 - Title3(Album3)
+Title3=Artist3 - (Album3)
Length3=648
Played3=0
File4=C:\4.mp3
=======================================
--- /trunk/tests/libs/PlaylistParser/VLC/test.html Tue Feb 15 06:27:04 2011
+++ /trunk/tests/libs/PlaylistParser/VLC/test.html Wed Feb 16 06:06:34 2011
@@ -26,9 +26,9 @@
<h1>Playlist</h1>
<hr />
<ol>
- <li>Artist1 - Title1 (00:00)</li>
- <li>Artist2 - Title2 (00:00)</li>
- <li>Artist3 - Title3 (00:00)</li>
+ <li>1.mp3 ( 0: 0)</li>
+ <li>Title2 ( 0: 0)</li>
+ <li>Artist3 - 3.mp3 (00:00)</li>
<li>Artist4 - Title4 (00:00)</li>
<li>Artist5 - Title5 (00:00)</li>
</ol>
=======================================
--- /trunk/tests/libs/PlaylistParser/VLC/test.m3u Tue Feb 15 06:27:04 2011
+++ /trunk/tests/libs/PlaylistParser/VLC/test.m3u Wed Feb 16 06:06:34 2011
@@ -1,9 +1,9 @@
#EXTM3U
-#EXTINF:0,Artist1 - Title1
+#EXTINF:0,1.mp3
C:\1.mp3
-#EXTINF:0,Artist2 - Title2
+#EXTINF:0,Title2
C:\2.mp3
-#EXTINF:0,Artist3 - Title3
+#EXTINF:0,Artist3 - 3.mp3
C:\3.mp3
#EXTINF:0,Artist4 - Title4
C:\4.mp3
=======================================
--- /trunk/tests/libs/PlaylistParser/VLC/test.m3u8 Tue Feb 15 06:27:04 2011
+++ /trunk/tests/libs/PlaylistParser/VLC/test.m3u8 Wed Feb 16 06:06:34 2011
@@ -1,9 +1,9 @@
#EXTM3U
-#EXTINF:0,Artist1 - Title1
+#EXTINF:0,1.mp3
C:\1.mp3
-#EXTINF:0,Artist2 - Title2
+#EXTINF:0,Title2
C:\2.mp3
-#EXTINF:0,Artist3 - Title3
+#EXTINF:0,Artist3 - 3.mp3
C:\3.mp3
#EXTINF:0,Artist4 - Title4
C:\4.mp3
=======================================
--- /trunk/tests/libs/PlaylistParser/VLC/test.xspf Tue Feb 15 06:27:04 2011
+++ /trunk/tests/libs/PlaylistParser/VLC/test.xspf Wed Feb 16 06:06:34 2011
@@ -4,12 +4,7 @@
<trackList>
<track>
<location>file:///C:/1.mp3</location>
- <title>Title1</title>
- <creator>Artist1</creator>
- <album>Album1</album>
- <trackNum>1</trackNum>
- <annotation>Comment1</annotation>
- <duration>680</duration>
+ <duration>648</duration>
<extension application="
http://www.videolan.org/vlc/playlist/0">
<vlc:id>0</vlc:id>
</extension>
@@ -17,7 +12,6 @@
<track>
<location>file:///C:/2.mp3</location>
<title>Title2</title>
- <creator>Artist2</creator>
<album>Album2</album>
<trackNum>2</trackNum>
<annotation>Comment2</annotation>
@@ -28,7 +22,6 @@
</track>
<track>
<location>file:///C:/3.mp3</location>
- <title>Title3</title>
<creator>Artist3</creator>
<album>Album3</album>
<trackNum>3</trackNum>
=======================================
--- /trunk/tests/libs/PlaylistParser/Winamp/test-noroot.m3u Tue Feb 15
06:58:23 2011
+++ /trunk/tests/libs/PlaylistParser/Winamp/test-noroot.m3u Wed Feb 16
06:06:34 2011
@@ -1,9 +1,9 @@
#EXTM3U
-#EXTINF:0,Artist1 - Title1
+#EXTINF:0,1
\1.mp3
-#EXTINF:0,Artist2 - Title2
+#EXTINF:0,Title2
\2.mp3
-#EXTINF:0,Artist3 - Title3
+#EXTINF:0,Artist3 - 3
\3.mp3
#EXTINF:0,Artist4 - Title4
\4.mp3
=======================================
--- /trunk/tests/libs/PlaylistParser/Winamp/test.m3u Tue Feb 15 06:27:04
2011
+++ /trunk/tests/libs/PlaylistParser/Winamp/test.m3u Wed Feb 16 06:06:34
2011
@@ -1,9 +1,9 @@
#EXTM3U
-#EXTINF:0,Artist1 - Title1
+#EXTINF:0,1
C:\1.mp3
-#EXTINF:0,Artist2 - Title2
+#EXTINF:0,Title2
C:\2.mp3
-#EXTINF:0,Artist3 - Title3
+#EXTINF:0,Artist3 - 3
C:\3.mp3
#EXTINF:0,Artist4 - Title4
C:\4.mp3
=======================================
--- /trunk/tests/libs/PlaylistParser/Winamp/test.m3u8 Tue Feb 15 06:27:04
2011
+++ /trunk/tests/libs/PlaylistParser/Winamp/test.m3u8 Wed Feb 16 06:06:34
2011
@@ -1,9 +1,9 @@
#EXTM3U
-#EXTINF:0,Artist1 - Title1
+#EXTINF:0,1
C:\1.mp3
-#EXTINF:0,Artist2 - Title2
+#EXTINF:0,Title2
C:\2.mp3
-#EXTINF:0,Artist3 - Title3
+#EXTINF:0,Artist3 - 3
C:\3.mp3
#EXTINF:0,Artist4 - Title4
C:\4.mp3
=======================================
--- /trunk/tests/libs/PlaylistParser/Winamp/test.pls Tue Feb 15 06:27:04
2011
+++ /trunk/tests/libs/PlaylistParser/Winamp/test.pls Wed Feb 16 06:06:34
2011
@@ -2,19 +2,19 @@
File1=C:\1.mp3
-Title1=Artist1 - Title1
+Title1=1
Length1=0
File2=C:\2.mp3
-Title2=Artist2 - Title2
+Title2=Title2
Length2=0
File3=C:\3.mp3
-Title3=Artist3 - Title3
+Title3=Artist3 - 3
Length3=0
=======================================
--- /trunk/tests/libs/PlaylistParser/foobar2000/test.xspf Tue Feb 15
06:27:04 2011
+++ /trunk/tests/libs/PlaylistParser/foobar2000/test.xspf Wed Feb 16
06:06:34 2011
@@ -6,24 +6,11 @@
<trackList>
<track>
<location>1.mp3</location>
- <title>Title1</title>
- <creator>Artist1</creator>
- <annotation>Comment1</annotation>
- <album>Album1</album>
- <trackNum>1</trackNum>
<duration>00000614</duration>
- <meta rel="band">Album Artist1</meta>
- <meta rel="bpm">1</meta>
- <meta rel="composer">Composer1</meta>
- <meta rel="date">2011</meta>
- <meta rel="discnumber">1</meta>
- <meta rel="genre">Genre1</meta>
- <meta rel="publisher">Publisher1</meta>
</track>
<track>
<location>2.mp3</location>
<title>Title2</title>
- <creator>Artist2</creator>
<annotation>Comment2</annotation>
<album>Album2</album>
<trackNum>2</trackNum>
@@ -38,7 +25,6 @@
</track>
<track>
<location>3.mp3</location>
- <title>Title3</title>
<creator>Artist3</creator>
<annotation>Comment3</annotation>
<album>Album3</album>
=======================================
--- /trunk/tests/libs/PlaylistParser/mp3/1.mp3 Tue Feb 15 02:20:10 2011
+++ /trunk/tests/libs/PlaylistParser/mp3/1.mp3 Wed Feb 16 06:06:34 2011
Binary file, no diff available.
=======================================
--- /trunk/tests/libs/PlaylistParser/mp3/2.mp3 Tue Feb 15 02:20:10 2011
+++ /trunk/tests/libs/PlaylistParser/mp3/2.mp3 Wed Feb 16 06:06:34 2011
Binary file, no diff available.
=======================================
--- /trunk/tests/libs/PlaylistParser/mp3/3.mp3 Tue Feb 15 02:20:10 2011
+++ /trunk/tests/libs/PlaylistParser/mp3/3.mp3 Wed Feb 16 06:06:34 2011
Binary file, no diff available.