diff options
author | Loïc Molinari <loic.molinari@canonical.com> | 2015-08-09 21:35:07 +0200 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2015-08-10 11:37:44 +0000 |
commit | 475a14ccc39aad0f73b039990412b00f52e0c81e (patch) | |
tree | 9a1fdfc09da47fbf624c450478f974dfe2f223c4 /tests | |
parent | 414b748b23dee51af1e54acf2369639c38256161 (diff) |
Check and fix up bounds in QMediaPlaylist methods.
Change-Id: I665d665139dbe9663b20ecb08fa3dab9cbe3f899
Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/unit/qmediaplaylist/tst_qmediaplaylist.cpp | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/tests/auto/unit/qmediaplaylist/tst_qmediaplaylist.cpp b/tests/auto/unit/qmediaplaylist/tst_qmediaplaylist.cpp index f96529c1b..daecda82b 100644 --- a/tests/auto/unit/qmediaplaylist/tst_qmediaplaylist.cpp +++ b/tests/auto/unit/qmediaplaylist/tst_qmediaplaylist.cpp @@ -234,6 +234,71 @@ void tst_QMediaPlaylist::insert() playlist.insertMedia(1, QList<QMediaContent>()); QCOMPARE(aboutToBeInsertedSignalSpy.count(), 0); QCOMPARE(insertedSignalSpy.count(), 0); + + playlist.clear(); + playlist.addMedia(content1); + aboutToBeInsertedSignalSpy.clear(); + insertedSignalSpy.clear(); + + playlist.insertMedia(-10, content2); + QCOMPARE(playlist.media(0), content2); + QCOMPARE(playlist.media(1), content1); + QCOMPARE(aboutToBeInsertedSignalSpy.count(), 1); + QCOMPARE(aboutToBeInsertedSignalSpy.first()[0].toInt(), 0); + QCOMPARE(aboutToBeInsertedSignalSpy.first()[1].toInt(), 0); + QCOMPARE(insertedSignalSpy.count(), 1); + QCOMPARE(insertedSignalSpy.first()[0].toInt(), 0); + QCOMPARE(insertedSignalSpy.first()[1].toInt(), 0); + + aboutToBeInsertedSignalSpy.clear(); + insertedSignalSpy.clear(); + + playlist.insertMedia(10, content3); + QCOMPARE(playlist.media(0), content2); + QCOMPARE(playlist.media(1), content1); + QCOMPARE(playlist.media(2), content3); + QCOMPARE(aboutToBeInsertedSignalSpy.count(), 1); + QCOMPARE(aboutToBeInsertedSignalSpy.first()[0].toInt(), 2); + QCOMPARE(aboutToBeInsertedSignalSpy.first()[1].toInt(), 2); + QCOMPARE(insertedSignalSpy.count(), 1); + QCOMPARE(insertedSignalSpy.first()[0].toInt(), 2); + QCOMPARE(insertedSignalSpy.first()[1].toInt(), 2); + + aboutToBeInsertedSignalSpy.clear(); + insertedSignalSpy.clear(); + + playlist.insertMedia(-10, QList<QMediaContent>() << content4 << content5); + QCOMPARE(playlist.media(0), content4); + QCOMPARE(playlist.media(1), content5); + QCOMPARE(playlist.media(2), content2); + QCOMPARE(playlist.media(3), content1); + QCOMPARE(playlist.media(4), content3); + QCOMPARE(aboutToBeInsertedSignalSpy.count(), 1); + QCOMPARE(aboutToBeInsertedSignalSpy.first()[0].toInt(), 0); + QCOMPARE(aboutToBeInsertedSignalSpy.first()[1].toInt(), 1); + QCOMPARE(insertedSignalSpy.count(), 1); + QCOMPARE(insertedSignalSpy.first()[0].toInt(), 0); + QCOMPARE(insertedSignalSpy.first()[1].toInt(), 1); + + aboutToBeInsertedSignalSpy.clear(); + insertedSignalSpy.clear(); + + QMediaContent content6(QUrl(QLatin1String("file:///6"))); + QMediaContent content7(QUrl(QLatin1String("file:///7"))); + playlist.insertMedia(10, QList<QMediaContent>() << content6 << content7); + QCOMPARE(playlist.media(0), content4); + QCOMPARE(playlist.media(1), content5); + QCOMPARE(playlist.media(2), content2); + QCOMPARE(playlist.media(3), content1); + QCOMPARE(playlist.media(4), content3); + QCOMPARE(playlist.media(5), content6); + QCOMPARE(playlist.media(6), content7); + QCOMPARE(aboutToBeInsertedSignalSpy.count(), 1); + QCOMPARE(aboutToBeInsertedSignalSpy.first()[0].toInt(), 5); + QCOMPARE(aboutToBeInsertedSignalSpy.first()[1].toInt(), 6); + QCOMPARE(insertedSignalSpy.count(), 1); + QCOMPARE(insertedSignalSpy.first()[0].toInt(), 5); + QCOMPARE(insertedSignalSpy.first()[1].toInt(), 6); } @@ -329,6 +394,58 @@ void tst_QMediaPlaylist::removeMedia() playlist.removeMedia(0,1); QCOMPARE(playlist.mediaCount(), 1); QCOMPARE(playlist.media(0), content3); + + QCOMPARE(playlist.removeMedia(-1), false); + QCOMPARE(playlist.removeMedia(1), false); + + playlist.addMedia(content1); + aboutToBeRemovedSignalSpy.clear(); + removedSignalSpy.clear(); + + playlist.removeMedia(-10, 10); + QCOMPARE(aboutToBeRemovedSignalSpy.count(), 1); + QCOMPARE(aboutToBeRemovedSignalSpy.first()[0].toInt(), 0); + QCOMPARE(aboutToBeRemovedSignalSpy.first()[1].toInt(), 1); + QCOMPARE(removedSignalSpy.count(), 1); + QCOMPARE(removedSignalSpy.first()[0].toInt(), 0); + QCOMPARE(removedSignalSpy.first()[1].toInt(), 1); + + playlist.addMedia(content1); + playlist.addMedia(content2); + playlist.addMedia(content3); + aboutToBeRemovedSignalSpy.clear(); + removedSignalSpy.clear(); + + QCOMPARE(playlist.removeMedia(10, -10), false); + QCOMPARE(aboutToBeRemovedSignalSpy.count(), 0); + QCOMPARE(removedSignalSpy.count(), 0); + QCOMPARE(playlist.removeMedia(-10, -5), false); + QCOMPARE(aboutToBeRemovedSignalSpy.count(), 0); + QCOMPARE(removedSignalSpy.count(), 0); + QCOMPARE(playlist.removeMedia(5, 10), false); + QCOMPARE(aboutToBeRemovedSignalSpy.count(), 0); + QCOMPARE(removedSignalSpy.count(), 0); + + playlist.removeMedia(1, 10); + QCOMPARE(aboutToBeRemovedSignalSpy.count(), 1); + QCOMPARE(aboutToBeRemovedSignalSpy.first()[0].toInt(), 1); + QCOMPARE(aboutToBeRemovedSignalSpy.first()[1].toInt(), 2); + QCOMPARE(removedSignalSpy.count(), 1); + QCOMPARE(removedSignalSpy.first()[0].toInt(), 1); + QCOMPARE(removedSignalSpy.first()[1].toInt(), 2); + + playlist.addMedia(content2); + playlist.addMedia(content3); + aboutToBeRemovedSignalSpy.clear(); + removedSignalSpy.clear(); + + playlist.removeMedia(-10, 1); + QCOMPARE(aboutToBeRemovedSignalSpy.count(), 1); + QCOMPARE(aboutToBeRemovedSignalSpy.first()[0].toInt(), 0); + QCOMPARE(aboutToBeRemovedSignalSpy.first()[1].toInt(), 1); + QCOMPARE(removedSignalSpy.count(), 1); + QCOMPARE(removedSignalSpy.first()[0].toInt(), 0); + QCOMPARE(removedSignalSpy.first()[1].toInt(), 1); } void tst_QMediaPlaylist::saveAndLoad() |