diff --git a/src/playlistparsers/parserbase.cpp b/src/playlistparsers/parserbase.cpp index 0eb07a7ad..5884c4008 100644 --- a/src/playlistparsers/parserbase.cpp +++ b/src/playlistparsers/parserbase.cpp @@ -81,6 +81,9 @@ QString ParserBase::MakeUrl(const QString& filename_or_url) const { } Song ParserBase::LoadLibrarySong(const QString& filename_or_url) const { + if (!library_) + return Song(); + QFileInfo info; if (filename_or_url.contains("://")) diff --git a/tests/asxiniparser_test.cpp b/tests/asxiniparser_test.cpp index 79769fe1a..69fb9ae51 100644 --- a/tests/asxiniparser_test.cpp +++ b/tests/asxiniparser_test.cpp @@ -26,6 +26,8 @@ class AsxIniParserTest : public ::testing::Test { protected: + AsxIniParserTest() : parser_(NULL) {} + AsxIniParser parser_; }; diff --git a/tests/asxparser_test.cpp b/tests/asxparser_test.cpp index 3706e8a2f..294ac01cf 100644 --- a/tests/asxparser_test.cpp +++ b/tests/asxparser_test.cpp @@ -39,7 +39,7 @@ TEST_F(ASXParserTest, ParsesOneTrackFromXML) { ""; QBuffer buffer(&data); buffer.open(QIODevice::ReadOnly); - ASXParser parser; + ASXParser parser(NULL); SongList songs = parser.Load(&buffer); ASSERT_EQ(1, songs.length()); const Song& song = songs[0]; @@ -61,7 +61,7 @@ TEST_F(ASXParserTest, ParsesMoreThanOneTrackFromXML) { ""; QBuffer buffer(&data); buffer.open(QIODevice::ReadOnly); - ASXParser parser; + ASXParser parser(NULL); SongList songs = parser.Load(&buffer); ASSERT_EQ(2, songs.length()); EXPECT_EQ("http://example.com/foo.mp3", songs[0].filename()); @@ -74,7 +74,7 @@ TEST_F(ASXParserTest, SavesSong) { QByteArray data; QBuffer buffer(&data); buffer.open(QIODevice::WriteOnly); - ASXParser parser; + ASXParser parser(NULL); Song one; one.set_filename("http://www.example.com/foo.mp3"); one.set_filetype(Song::Type_Stream); @@ -94,7 +94,7 @@ TEST_F(ASXParserTest, ParsesSomaFM) { QFile somafm(":/testdata/secretagent.asx"); somafm.open(QIODevice::ReadOnly); - ASXParser parser; + ASXParser parser(NULL); SongList songs = parser.Load(&somafm); ASSERT_EQ(4, songs.count()); diff --git a/tests/m3uparser_test.cpp b/tests/m3uparser_test.cpp index 548931550..bfbbe9132 100644 --- a/tests/m3uparser_test.cpp +++ b/tests/m3uparser_test.cpp @@ -68,7 +68,7 @@ TEST_F(M3UParserTest, ParsesTrackLocationRelative) { temp.open(); QFileInfo info(temp); taglib_.ExpectCall(temp.fileName(), "foo", "bar", "baz"); - M3UParser parser; + M3UParser parser(NULL); QString line(info.fileName()); Song song(&taglib_); ASSERT_TRUE(parser.ParseTrackLocation(line, info.dir(), &song)); @@ -89,7 +89,7 @@ TEST_F(M3UParserTest, ParsesSongsFromDevice) { "http://foo.com/bar/somefile.mp3\n"; QBuffer buffer(&data); buffer.open(QIODevice::ReadOnly); - M3UParser parser; + M3UParser parser(NULL); SongList songs = parser.Load(&buffer); ASSERT_EQ(1, songs.size()); Song s = songs[0]; @@ -105,7 +105,7 @@ TEST_F(M3UParserTest, ParsesNonExtendedM3U) { "http://baz.com/thing.mp3\n"; QBuffer buffer(&data); buffer.open(QIODevice::ReadOnly); - M3UParser parser; + M3UParser parser(NULL); SongList songs = parser.Load(&buffer, QDir("somedir")); ASSERT_EQ(2, songs.size()); EXPECT_PRED_FORMAT2(::testing::IsSubstring, @@ -120,7 +120,7 @@ TEST_F(M3UParserTest, ParsesNonExtendedM3U) { TEST_F(M3UParserTest, ParsesActualM3U) { QFile file(":testdata/test.m3u"); file.open(QIODevice::ReadOnly); - M3UParser parser; + M3UParser parser(NULL); SongList songs = parser.Load(&file, QDir("somedir")); ASSERT_EQ(239, songs.size()); EXPECT_EQ("gravity", songs[0].title()); @@ -141,7 +141,7 @@ TEST_F(M3UParserTest, SavesSong) { one.set_filename("http://www.example.com/foo.mp3"); SongList songs; songs << one; - M3UParser parser; + M3UParser parser(NULL); parser.Save(songs, &buffer); EXPECT_THAT(data.constData(), HasSubstr("#EXTM3U")); EXPECT_THAT(data.constData(), HasSubstr("#EXTINF:123,bar - foo")); @@ -154,7 +154,7 @@ TEST_F(M3UParserTest, ParsesUTF8) { "/foo/Разные/исполнители.mp3\n"; QBuffer buffer(&data); buffer.open(QIODevice::ReadOnly); - M3UParser parser; + M3UParser parser(NULL); SongList songs = parser.Load(&buffer); ASSERT_EQ(1, songs.length()); EXPECT_EQ(6, songs[0].artist().length()); diff --git a/tests/plsparser_test.cpp b/tests/plsparser_test.cpp index 53a38dffe..cf5c493e2 100644 --- a/tests/plsparser_test.cpp +++ b/tests/plsparser_test.cpp @@ -31,6 +31,8 @@ using boost::shared_ptr; class PLSParserTest : public ::testing::Test { protected: + PLSParserTest() : parser_(NULL) {} + shared_ptr Open(const QString& filename) { shared_ptr ret(new QFile(":/testdata/" + filename)); if (!ret->open(QIODevice::ReadOnly)) diff --git a/tests/xspfparser_test.cpp b/tests/xspfparser_test.cpp index f797f0352..0baa16678 100644 --- a/tests/xspfparser_test.cpp +++ b/tests/xspfparser_test.cpp @@ -42,7 +42,7 @@ TEST_F(XSPFParserTest, ParsesOneTrackFromXML) { ""; QBuffer buffer(&data); buffer.open(QIODevice::ReadOnly); - XSPFParser parser; + XSPFParser parser(NULL); SongList songs = parser.Load(&buffer); ASSERT_EQ(1, songs.length()); const Song& song = songs[0]; @@ -66,7 +66,7 @@ TEST_F(XSPFParserTest, ParsesMoreThanOneTrackFromXML) { ""; QBuffer buffer(&data); buffer.open(QIODevice::ReadOnly); - XSPFParser parser; + XSPFParser parser(NULL); SongList songs = parser.Load(&buffer); ASSERT_EQ(2, songs.length()); EXPECT_EQ("http://example.com/foo.mp3", songs[0].filename()); @@ -88,7 +88,7 @@ TEST_F(XSPFParserTest, IgnoresInvalidLength) { ""; QBuffer buffer(&data); buffer.open(QIODevice::ReadOnly); - XSPFParser parser; + XSPFParser parser(NULL); SongList songs = parser.Load(&buffer); ASSERT_EQ(1, songs.length()); EXPECT_EQ(-1, songs[0].length()); @@ -98,7 +98,7 @@ TEST_F(XSPFParserTest, SavesSong) { QByteArray data; QBuffer buffer(&data); buffer.open(QIODevice::WriteOnly); - XSPFParser parser; + XSPFParser parser(NULL); Song one; one.set_filename("http://www.example.com/foo.mp3"); one.set_filetype(Song::Type_Stream); @@ -119,7 +119,7 @@ TEST_F(XSPFParserTest, SavesLocalFile) { QByteArray data; QBuffer buffer(&data); buffer.open(QIODevice::WriteOnly); - XSPFParser parser; + XSPFParser parser(NULL); Song one; one.set_filename("/bar/foo.mp3"); one.set_filetype(Song::Type_Mpeg);