Revert "QMediaNetworkPlaylistProvider: Upon error parsing, stop parsing."

This reverts commit 0ed18d846c.
The same patch was submitted in both 5.3 and 5.4 branches. It should
have been pushed only to 5.3.

Change-Id: I9e2974886190dfb2e5def5bc325c58f6e7783f55
Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>
This commit is contained in:
Yoann Lopes
2014-09-16 16:28:12 +02:00
parent 3b20608fe3
commit 46c56ed530
5 changed files with 1 additions and 127 deletions

View File

@@ -82,8 +82,6 @@ void QMediaNetworkPlaylistProviderPrivate::_q_handleParserError(QPlaylistFilePar
break; break;
} }
parser.stop();
emit q->loadFailed(playlistError, errorMessage); emit q->loadFailed(playlistError, errorMessage);
} }

View File

@@ -1,27 +0,0 @@
[playlist]
File1=http://test.host/path
Title1=First
Length1=-1
File2= http://test.host/path
Title2=Second
Length2=-1
File3=testfile
Title3=Third
Length3=-1
File4=testdir/testfile
Title4=Fourth
Length4=-1
File5=/testdir/testfile
Title5=Fifth
Length5=-1
File6=file://path/name#suffix
Title6=Sixth
Length6=-1
File7=testfile2#suffix
Title7=Seventh
Length7=-1
NumberOfEntries=7

View File

@@ -1,5 +0,0 @@
[playlist]
X-GNOME-Title=totem-pl-file-example
NumberOfEntries=1
File1=http://test.host/path
Title1=Silence

View File

@@ -1,2 +0,0 @@
[playlist]
NumberOfEntries=100

View File

@@ -78,7 +78,6 @@ private slots:
void currentItem(); void currentItem();
void saveAndLoad(); void saveAndLoad();
void loadM3uFile(); void loadM3uFile();
void loadPLSFile();
void playbackMode(); void playbackMode();
void playbackMode_data(); void playbackMode_data();
void shuffle(); void shuffle();
@@ -349,10 +348,8 @@ void tst_QMediaPlaylist::saveAndLoad()
QVERIFY(playlist.error() == QMediaPlaylist::FormatNotSupportedError); QVERIFY(playlist.error() == QMediaPlaylist::FormatNotSupportedError);
QVERIFY(!playlist.errorString().isEmpty()); QVERIFY(!playlist.errorString().isEmpty());
QSignalSpy loadedSignal(&playlist, SIGNAL(loaded()));
QSignalSpy errorSignal(&playlist, SIGNAL(loadFailed())); QSignalSpy errorSignal(&playlist, SIGNAL(loadFailed()));
playlist.load(&buffer, "unsupported_format"); playlist.load(&buffer, "unsupported_format");
QTRY_VERIFY(loadedSignal.isEmpty());
QCOMPARE(errorSignal.size(), 1); QCOMPARE(errorSignal.size(), 1);
QVERIFY(playlist.error() != QMediaPlaylist::NoError); QVERIFY(playlist.error() != QMediaPlaylist::NoError);
QVERIFY(!playlist.errorString().isEmpty()); QVERIFY(!playlist.errorString().isEmpty());
@@ -362,10 +359,8 @@ void tst_QMediaPlaylist::saveAndLoad()
QVERIFY(playlist.error() != QMediaPlaylist::NoError); QVERIFY(playlist.error() != QMediaPlaylist::NoError);
QVERIFY(!playlist.errorString().isEmpty()); QVERIFY(!playlist.errorString().isEmpty());
loadedSignal.clear();
errorSignal.clear(); errorSignal.clear();
playlist.load(QUrl::fromLocalFile(QLatin1String("tmp.unsupported_format")), "unsupported_format"); playlist.load(QUrl::fromLocalFile(QLatin1String("tmp.unsupported_format")), "unsupported_format");
QTRY_VERIFY(loadedSignal.isEmpty());
QCOMPARE(errorSignal.size(), 1); QCOMPARE(errorSignal.size(), 1);
QVERIFY(playlist.error() == QMediaPlaylist::FormatNotSupportedError); QVERIFY(playlist.error() == QMediaPlaylist::FormatNotSupportedError);
QVERIFY(!playlist.errorString().isEmpty()); QVERIFY(!playlist.errorString().isEmpty());
@@ -377,11 +372,7 @@ void tst_QMediaPlaylist::saveAndLoad()
buffer.seek(0); buffer.seek(0);
QMediaPlaylist playlist2; QMediaPlaylist playlist2;
QSignalSpy loadedSignal2(&playlist2, SIGNAL(loaded()));
QSignalSpy errorSignal2(&playlist2, SIGNAL(loadFailed()));
playlist2.load(&buffer, "m3u"); playlist2.load(&buffer, "m3u");
QCOMPARE(loadedSignal2.size(), 1);
QTRY_VERIFY(errorSignal2.isEmpty());
QCOMPARE(playlist.error(), QMediaPlaylist::NoError); QCOMPARE(playlist.error(), QMediaPlaylist::NoError);
QCOMPARE(playlist.mediaCount(), playlist2.mediaCount()); QCOMPARE(playlist.mediaCount(), playlist2.mediaCount());
@@ -391,13 +382,9 @@ void tst_QMediaPlaylist::saveAndLoad()
res = playlist.save(QUrl::fromLocalFile(QLatin1String("tmp.m3u")), "m3u"); res = playlist.save(QUrl::fromLocalFile(QLatin1String("tmp.m3u")), "m3u");
QVERIFY(res); QVERIFY(res);
loadedSignal2.clear();
errorSignal2.clear();
playlist2.clear(); playlist2.clear();
QVERIFY(playlist2.isEmpty()); QVERIFY(playlist2.isEmpty());
playlist2.load(QUrl::fromLocalFile(QLatin1String("tmp.m3u")), "m3u"); playlist2.load(QUrl::fromLocalFile(QLatin1String("tmp.m3u")), "m3u");
QCOMPARE(loadedSignal2.size(), 1);
QTRY_VERIFY(errorSignal2.isEmpty());
QCOMPARE(playlist.error(), QMediaPlaylist::NoError); QCOMPARE(playlist.error(), QMediaPlaylist::NoError);
QCOMPARE(playlist.mediaCount(), playlist2.mediaCount()); QCOMPARE(playlist.mediaCount(), playlist2.mediaCount());
@@ -411,20 +398,12 @@ void tst_QMediaPlaylist::loadM3uFile()
QMediaPlaylist playlist; QMediaPlaylist playlist;
// Try to load playlist that does not exist in the testdata folder // Try to load playlist that does not exist in the testdata folder
QSignalSpy loadSpy(&playlist, SIGNAL(loaded()));
QSignalSpy loadFailedSpy(&playlist, SIGNAL(loadFailed()));
QString testFileName = QFINDTESTDATA("testdata"); QString testFileName = QFINDTESTDATA("testdata");
playlist.load(QUrl::fromLocalFile(testFileName + "/missing_file.m3u")); playlist.load(QUrl::fromLocalFile(testFileName + "/missing_file.m3u"));
QTRY_VERIFY(loadSpy.isEmpty());
QVERIFY(!loadFailedSpy.isEmpty());
QVERIFY(playlist.error() != QMediaPlaylist::NoError); QVERIFY(playlist.error() != QMediaPlaylist::NoError);
loadSpy.clear();
loadFailedSpy.clear();
testFileName = QFINDTESTDATA("testdata/test.m3u"); testFileName = QFINDTESTDATA("testdata/test.m3u");
playlist.load(QUrl::fromLocalFile(testFileName)); playlist.load(QUrl::fromLocalFile(testFileName));
QTRY_VERIFY(!loadSpy.isEmpty());
QVERIFY(loadFailedSpy.isEmpty());
QCOMPARE(playlist.error(), QMediaPlaylist::NoError); QCOMPARE(playlist.error(), QMediaPlaylist::NoError);
QCOMPARE(playlist.mediaCount(), 7); QCOMPARE(playlist.mediaCount(), 7);
@@ -441,79 +420,10 @@ void tst_QMediaPlaylist::loadM3uFile()
//ensure #2 suffix is not stripped from path //ensure #2 suffix is not stripped from path
testFileName = QFINDTESTDATA("testdata/testfile2#suffix"); testFileName = QFINDTESTDATA("testdata/testfile2#suffix");
QCOMPARE(playlist.media(6).canonicalUrl(), QUrl::fromLocalFile(testFileName)); QCOMPARE(playlist.media(6).canonicalUrl(), QUrl::fromLocalFile(testFileName));
// check ability to load from QNetworkRequest // check ability to load from QNetworkRequest
loadSpy.clear();
loadFailedSpy.clear();
playlist.load(QNetworkRequest(QUrl::fromLocalFile(QFINDTESTDATA("testdata/test.m3u"))));
QTRY_VERIFY(!loadSpy.isEmpty());
QVERIFY(loadFailedSpy.isEmpty());
}
void tst_QMediaPlaylist::loadPLSFile()
{
QMediaPlaylist playlist;
// Try to load playlist that does not exist in the testdata folder
QSignalSpy loadSpy(&playlist, SIGNAL(loaded())); QSignalSpy loadSpy(&playlist, SIGNAL(loaded()));
QSignalSpy loadFailedSpy(&playlist, SIGNAL(loadFailed())); QSignalSpy loadFailedSpy(&playlist, SIGNAL(loadFailed()));
QString testFileName = QFINDTESTDATA("testdata"); playlist.load(QNetworkRequest(QUrl::fromLocalFile(QFINDTESTDATA("testdata/test.m3u"))));
playlist.load(QUrl::fromLocalFile(testFileName + "/missing_file.pls"));
QTRY_VERIFY(loadSpy.isEmpty());
QVERIFY(!loadFailedSpy.isEmpty());
QVERIFY(playlist.error() != QMediaPlaylist::NoError);
// Try to load bogus playlist
loadSpy.clear();
loadFailedSpy.clear();
testFileName = QFINDTESTDATA("testdata/trash.pls");
playlist.load(QUrl::fromLocalFile(testFileName));
QTRY_VERIFY(loadSpy.isEmpty());
QVERIFY(!loadFailedSpy.isEmpty());
QVERIFY(playlist.error() == QMediaPlaylist::FormatError);
// Try to load regular playlist
loadSpy.clear();
loadFailedSpy.clear();
testFileName = QFINDTESTDATA("testdata/test.pls");
playlist.load(QUrl::fromLocalFile(testFileName));
QTRY_VERIFY(!loadSpy.isEmpty());
QVERIFY(loadFailedSpy.isEmpty());
QCOMPARE(playlist.error(), QMediaPlaylist::NoError);
QCOMPARE(playlist.mediaCount(), 7);
QCOMPARE(playlist.media(0).canonicalUrl(), QUrl(QLatin1String("http://test.host/path")));
QCOMPARE(playlist.media(1).canonicalUrl(), QUrl(QLatin1String("http://test.host/path")));
testFileName = QFINDTESTDATA("testdata/testfile");
QEXPECT_FAIL("", "See QTBUG-40515", Continue);
QCOMPARE(playlist.media(2).canonicalUrl(),
QUrl::fromLocalFile(testFileName));
testFileName = QFINDTESTDATA("testdata");
QEXPECT_FAIL("", "See QTBUG-40515", Continue);
QCOMPARE(playlist.media(3).canonicalUrl(),
QUrl::fromLocalFile(testFileName + "/testdir/testfile"));
QEXPECT_FAIL("", "See QTBUG-40515", Continue);
QCOMPARE(playlist.media(4).canonicalUrl(), QUrl(QLatin1String("file:///testdir/testfile")));
QCOMPARE(playlist.media(5).canonicalUrl(), QUrl(QLatin1String("file://path/name#suffix")));
//ensure #2 suffix is not stripped from path
testFileName = QFINDTESTDATA("testdata/testfile2#suffix");
QEXPECT_FAIL("", "See QTBUG-40515", Continue);
QCOMPARE(playlist.media(6).canonicalUrl(), QUrl::fromLocalFile(testFileName));
// Try to load a totem-pl generated playlist
loadSpy.clear();
loadFailedSpy.clear();
testFileName = QFINDTESTDATA("testdata/totem-pl-example.pls");
playlist.load(QUrl::fromLocalFile(testFileName));
QEXPECT_FAIL("", "See QTBUG-40515", Continue);
QTRY_VERIFY(!loadSpy.isEmpty());
QEXPECT_FAIL("", "See QTBUG-40515", Continue);
QVERIFY(loadFailedSpy.isEmpty());
// check ability to load from QNetworkRequest
loadSpy.clear();
loadFailedSpy.clear();
playlist.load(QNetworkRequest(QUrl::fromLocalFile(QFINDTESTDATA("testdata/test.pls"))));
QTRY_VERIFY(!loadSpy.isEmpty()); QTRY_VERIFY(!loadSpy.isEmpty());
QVERIFY(loadFailedSpy.isEmpty()); QVERIFY(loadFailedSpy.isEmpty());
} }