API unit tests from Maemo API test team.

A large number of tweaks and changes to original tests, and refactor
a lot of the mock backends to reduce duplication.

Changed viewfinder test case to use mock service and provider so
that it matches the image capture test case.

Reviewed-by: Jonas Rabbe
(cherry picked from commit e40bef5508a4165cec4a46b97115aed461027fa5)

Also licence header fix:
(cherry picked from commit e9ee9e8c48b45b97d62ee4a82e400fa9d8ea8107)

Change-Id: Ic59891d75563bb2e008a336eea859e8c44d8d831
Reviewed-on: http://codereview.qt.nokia.com/2078
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
This commit is contained in:
Michael Goddard
2011-07-25 15:02:51 +10:00
committed by Qt by Nokia
parent 1e4dda9710
commit a6128410da
94 changed files with 8814 additions and 2396 deletions

View File

@@ -62,10 +62,20 @@ private slots:
void currentItemOnce();
void currentItemInLoop();
void randomPlayback();
void testItemAt();
void testNextIndex();
void testPreviousIndex();
void testCurrentIndexChangedSignal();
void testPlaybackModeChangedSignal();
void testSurroundingItemsChangedSignal();
void testActivatedSignal();
};
void tst_QMediaPlaylistNavigator::init()
{
qRegisterMetaType<QMediaPlaylist::PlaybackMode>("QMediaPlaylist::PlaybackMode");
qRegisterMetaType<QMediaContent>("QMediaContent");
}
void tst_QMediaPlaylistNavigator::cleanup()
@@ -314,5 +324,202 @@ void tst_QMediaPlaylistNavigator::randomPlayback()
}
void tst_QMediaPlaylistNavigator::testItemAt()
{
QLocalMediaPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
QCOMPARE(navigator.currentIndex(), -1);
//Adding the media to the playlist
QMediaContent content = QMediaContent(QUrl(QLatin1String("file:///1")));
playlist.addMedia(content);
//Currently it is not pointing to any index , Returns Null mediacontent
QCOMPARE(navigator.currentIndex(), -1);
QCOMPARE(navigator.itemAt(navigator.currentIndex()),QMediaContent());
navigator.next();
//Points to the added media
int pos1 = navigator.currentIndex();
QCOMPARE(content,navigator.itemAt(pos1));
}
void tst_QMediaPlaylistNavigator::testNextIndex()
{
QLocalMediaPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
QCOMPARE(navigator.currentIndex(), -1);
//Adding the media to the playlist
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1"))));
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2"))));
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///3"))));
playlist.shuffle();
//Currently it is not pointing to any index
QCOMPARE(navigator.currentIndex(), -1);
navigator.next();
int pos1 = navigator.currentIndex();
//Pointing to the next index
navigator.next();
int pos2 = navigator.currentIndex();
navigator.next();
int pos3 = navigator.currentIndex();
//Pointing to the previous index
navigator.previous();
QCOMPARE(navigator.nextIndex(1), pos3);
navigator.previous();
QCOMPARE(navigator.nextIndex(1), pos2);
QCOMPARE(navigator.nextIndex(2), pos3);
navigator.previous();
QCOMPARE(navigator.nextIndex(1), pos1);
}
void tst_QMediaPlaylistNavigator::testPreviousIndex()
{
QLocalMediaPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
QCOMPARE(navigator.currentIndex(), -1);
//Adding the media to the playlist
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1"))));
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2"))));
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///3"))));
playlist.shuffle();
//Currently it is not pointing to any index
QCOMPARE(navigator.currentIndex(), -1);
//pointing to next index
navigator.next();
int pos1 = navigator.currentIndex();
navigator.next();
int pos2 = navigator.currentIndex();
navigator.next();
int pos3 = navigator.currentIndex();
QCOMPARE(navigator.previousIndex(1), pos2);
QCOMPARE(navigator.previousIndex(2), pos1);
navigator.next();
QCOMPARE(navigator.previousIndex(1), pos3);
}
void tst_QMediaPlaylistNavigator::testCurrentIndexChangedSignal()
{
QLocalMediaPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
QCOMPARE(navigator.currentIndex(), -1);
//Creating a QSignalSpy object for currentIndexChanged() signal
QSignalSpy spy(&navigator,SIGNAL(currentIndexChanged(int)));
QVERIFY(spy.count() == 0);
//Adding the media to the playlist
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1"))));
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2"))));
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///3"))));
//Currently it is not pointing to any index
QCOMPARE(navigator.currentIndex(), -1);
navigator.next();
QVERIFY(spy.count() == 1);
int pos1 = navigator.currentIndex();
//Pointing to the next index
navigator.next();
QVERIFY(navigator.previousIndex(1) == pos1);
QVERIFY(spy.count() == 2);
}
void tst_QMediaPlaylistNavigator::testPlaybackModeChangedSignal()
{
QLocalMediaPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
QCOMPARE(navigator.currentIndex(), -1);
//Creating a QSignalSpy object for currentIndexChanged() signal
QSignalSpy spy(&navigator,SIGNAL(playbackModeChanged(QMediaPlaylist::PlaybackMode)));
QVERIFY(spy.count() == 0);
//Adding the media to the playlist
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1"))));
//set the play back mode to sequential
navigator.setPlaybackMode(QMediaPlaylist::Sequential);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Sequential);
QVERIFY(spy.count() == 1);
//set the play back mode to loop
navigator.setPlaybackMode(QMediaPlaylist::Loop);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Loop);
QVERIFY(spy.count() == 2);
}
void tst_QMediaPlaylistNavigator::testSurroundingItemsChangedSignal()
{
QLocalMediaPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
QCOMPARE(navigator.currentIndex(), -1);
//Creating a QSignalSpy object for surroundingItemsChanged()signal
QSignalSpy spy(&navigator,SIGNAL(surroundingItemsChanged()));
QVERIFY(spy.count() == 0);
//Adding the media to the playlist
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1"))));
QVERIFY(spy.count() == 1);
//set the play back mode to sequential
navigator.setPlaybackMode(QMediaPlaylist::Sequential);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Sequential);
QVERIFY(spy.count() == 2);
//Point to the next index
navigator.next();
QVERIFY(spy.count() == 3);
}
void tst_QMediaPlaylistNavigator::testActivatedSignal()
{
QLocalMediaPlaylistProvider playlist;
QMediaPlaylistNavigator navigator(&playlist);
navigator.setPlaybackMode(QMediaPlaylist::Random);
QCOMPARE(navigator.playbackMode(), QMediaPlaylist::Random);
QCOMPARE(navigator.currentIndex(), -1);
//Creating a QSignalSpy object for surroundingItemsChanged()signal
QSignalSpy spy(&navigator,SIGNAL(activated(QMediaContent)));
QVERIFY(spy.count() == 0);
//Adding the media to the playlist
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///1"))));
playlist.addMedia(QMediaContent(QUrl(QLatin1String("file:///2"))));
playlist.shuffle();
//Point to the next index
navigator.next();
QVERIFY(spy.count() == 1);
//Jump to 0th item
navigator.jump(0);
QVERIFY(spy.count() == 2);
//move to previous item
navigator.previous();
QVERIFY(spy.count() == 3);
}
QTEST_MAIN(tst_QMediaPlaylistNavigator)
#include "tst_qmediaplaylistnavigator.moc"