diff options
Diffstat (limited to 'tests')
28 files changed, 678 insertions, 106 deletions
diff --git a/tests/auto/integration/qaudiodecoderbackend/BLACKLIST b/tests/auto/integration/qaudiodecoderbackend/BLACKLIST new file mode 100644 index 000000000..038b89022 --- /dev/null +++ b/tests/auto/integration/qaudiodecoderbackend/BLACKLIST @@ -0,0 +1,41 @@ +# QTBUG-46331 + +[fileTest] +opensuse-13.1 64bit +redhatenterpriselinuxworkstation-6.6 +osx-10.8 +osx-10.9 +osx-10.10 +osx-10.11 +windows 32bit developer-build +windows 64bit developer-build + +[unsupportedFileTest] +opensuse-13.1 64bit +redhatenterpriselinuxworkstation-6.6 +osx-10.8 +osx-10.9 +osx-10.10 +osx-10.11 +windows 32bit developer-build +windows 64bit developer-build + +[corruptedFileTest] +opensuse-13.1 64bit +redhatenterpriselinuxworkstation-6.6 +osx-10.8 +osx-10.9 +osx-10.10 +osx-10.11 +windows 32bit developer-build +windows 64bit developer-build + +[deviceTest] +opensuse-13.1 64bit +redhatenterpriselinuxworkstation-6.6 +osx-10.8 +osx-10.9 +osx-10.10 +osx-10.11 +windows 32bit developer-build +windows 64bit developer-build diff --git a/tests/auto/integration/qaudiodecoderbackend/qaudiodecoderbackend.pro b/tests/auto/integration/qaudiodecoderbackend/qaudiodecoderbackend.pro index 80ce0c112..c9f5a089c 100644 --- a/tests/auto/integration/qaudiodecoderbackend/qaudiodecoderbackend.pro +++ b/tests/auto/integration/qaudiodecoderbackend/qaudiodecoderbackend.pro @@ -3,7 +3,7 @@ TARGET = tst_qaudiodecoderbackend QT += multimedia multimedia-private testlib # This is more of a system test -CONFIG += testcase insignificant_test +CONFIG += testcase TESTDATA += testdata/* INCLUDEPATH += \ diff --git a/tests/auto/integration/qaudiodeviceinfo/BLACKLIST b/tests/auto/integration/qaudiodeviceinfo/BLACKLIST new file mode 100644 index 000000000..40dc63a09 --- /dev/null +++ b/tests/auto/integration/qaudiodeviceinfo/BLACKLIST @@ -0,0 +1,4 @@ +# QTBUG-46409 + +[deviceName] +redhatenterpriselinuxworkstation-6.6 diff --git a/tests/auto/integration/qaudiodeviceinfo/qaudiodeviceinfo.pro b/tests/auto/integration/qaudiodeviceinfo/qaudiodeviceinfo.pro index 69bd792bc..98ed7e69c 100644 --- a/tests/auto/integration/qaudiodeviceinfo/qaudiodeviceinfo.pro +++ b/tests/auto/integration/qaudiodeviceinfo/qaudiodeviceinfo.pro @@ -3,7 +3,7 @@ TARGET = tst_qaudiodeviceinfo QT += core multimedia-private testlib # This is more of a system test -CONFIG += testcase insignificant_test +CONFIG += testcase SOURCES += tst_qaudiodeviceinfo.cpp diff --git a/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp b/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp index 242787841..242787841 100755..100644 --- a/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp +++ b/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp diff --git a/tests/auto/integration/qaudioinput/wavheader.cpp b/tests/auto/integration/qaudioinput/wavheader.cpp index adb28e7a7..adb28e7a7 100755..100644 --- a/tests/auto/integration/qaudioinput/wavheader.cpp +++ b/tests/auto/integration/qaudioinput/wavheader.cpp diff --git a/tests/auto/integration/qaudioinput/wavheader.h b/tests/auto/integration/qaudioinput/wavheader.h index 04fd951f6..04fd951f6 100755..100644 --- a/tests/auto/integration/qaudioinput/wavheader.h +++ b/tests/auto/integration/qaudioinput/wavheader.h diff --git a/tests/auto/integration/qaudiooutput/BLACKLIST b/tests/auto/integration/qaudiooutput/BLACKLIST new file mode 100644 index 000000000..e640ef926 --- /dev/null +++ b/tests/auto/integration/qaudiooutput/BLACKLIST @@ -0,0 +1,4 @@ +[pullSuspendResume] +redhatenterpriselinuxworkstation-6.6 +ubuntu-14.04 +opensuse-13.1 64bit diff --git a/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp b/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp index b887d3f9a..b887d3f9a 100755..100644 --- a/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp +++ b/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp diff --git a/tests/auto/integration/qaudiooutput/wavheader.cpp b/tests/auto/integration/qaudiooutput/wavheader.cpp index adb28e7a7..adb28e7a7 100755..100644 --- a/tests/auto/integration/qaudiooutput/wavheader.cpp +++ b/tests/auto/integration/qaudiooutput/wavheader.cpp diff --git a/tests/auto/integration/qaudiooutput/wavheader.h b/tests/auto/integration/qaudiooutput/wavheader.h index 04fd951f6..04fd951f6 100755..100644 --- a/tests/auto/integration/qaudiooutput/wavheader.h +++ b/tests/auto/integration/qaudiooutput/wavheader.h diff --git a/tests/auto/integration/qmediaplayerbackend/BLACKLIST b/tests/auto/integration/qmediaplayerbackend/BLACKLIST new file mode 100644 index 000000000..9f0d4b746 --- /dev/null +++ b/tests/auto/integration/qmediaplayerbackend/BLACKLIST @@ -0,0 +1,62 @@ +# QTBUG-46368 + +osx-10.8 +osx-10.9 +osx-10.10 +osx-10.11 +windows 32bit developer-build +windows 64bit developer-build + +[construction] +opensuse-13.1 64bit + +[loadMedia] +opensuse-13.1 64bit +windows 64bit developer-build + +[unloadMedia] +opensuse-13.1 64bit +windows 64bit developer-build + +[playPauseStop] +opensuse-13.1 64bit +redhatenterpriselinuxworkstation-6.6 +ubuntu-14.04 64bit +windows 64bit developer-build + +[processEOS] +opensuse-13.1 64bit +windows 64bit developer-build + +[deleteLaterAtEOS] +opensuse-13.1 64bit +windows 64bit developer-build + +[volumeAndMuted] +opensuse-13.1 64bit + +[volumeAcrossFiles] +opensuse-13.1 64bit + +[initialVolume] +opensuse-13.1 64bit +windows 64bit developer-build + +[playlist] +opensuse-13.1 64bit +redhatenterpriselinuxworkstation-6.6 + +[seekPauseSeek] +redhatenterpriselinuxworkstation-6.6 + +[seekInStoppedState] +redhatenterpriselinuxworkstation-6.6 + +[subsequentPlayback] +redhatenterpriselinuxworkstation-6.6 + +[probes] +redhatenterpriselinuxworkstation-6.6 + +[surfaceTest] +redhatenterpriselinuxworkstation-6.6 diff --git a/tests/auto/integration/qmediaplayerbackend/qmediaplayerbackend.pro b/tests/auto/integration/qmediaplayerbackend/qmediaplayerbackend.pro index 79028d885..a2c1bdf87 100644 --- a/tests/auto/integration/qmediaplayerbackend/qmediaplayerbackend.pro +++ b/tests/auto/integration/qmediaplayerbackend/qmediaplayerbackend.pro @@ -3,7 +3,7 @@ TARGET = tst_qmediaplayerbackend QT += multimedia-private testlib # This is more of a system test -CONFIG += testcase insignificant_test +CONFIG += testcase SOURCES += \ diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp index 916f70eff..c032734c5 100644 --- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp +++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp @@ -220,13 +220,13 @@ void tst_QMediaPlayerBackend::initTestCase() qRegisterMetaType<QMediaContent>(); QStringList mediaCandidates; - mediaCandidates << QFINDTESTDATA("testdata/colors.ogv"); mediaCandidates << QFINDTESTDATA("testdata/colors.mp4"); + mediaCandidates << QFINDTESTDATA("testdata/colors.ogv"); localVideoFile = selectMediaFile(mediaCandidates); mediaCandidates.clear(); - mediaCandidates << QFINDTESTDATA("testdata/nokia-tune.mkv"); mediaCandidates << QFINDTESTDATA("testdata/nokia-tune.mp3"); + mediaCandidates << QFINDTESTDATA("testdata/nokia-tune.mkv"); localCompressedSoundFile = selectMediaFile(mediaCandidates); localFileWithMetadata = selectMediaFile(QStringList() << QFINDTESTDATA("testdata/nokia-tune.mp3")); @@ -478,7 +478,7 @@ void tst_QMediaPlayerBackend::processEOS() //position is reset to start QTRY_VERIFY(player.position() < 100); - QVERIFY(positionSpy.count() > 0); + QTRY_VERIFY(positionSpy.count() > 0); QCOMPARE(positionSpy.first()[0].value<qint64>(), 0); QCOMPARE(player.state(), QMediaPlayer::PlayingState); @@ -720,7 +720,7 @@ void tst_QMediaPlayerBackend::seekPauseSeek() player.pause(); QTRY_COMPARE(player.state(), QMediaPlayer::PausedState); // it might take some time for the operation to be completed - QTRY_COMPARE(surface->m_frameList.size(), 1); // we must see a frame at position 7000 here + QTRY_VERIFY(!surface->m_frameList.isEmpty()); // we must see a frame at position 7000 here { QVideoFrame frame = surface->m_frameList.back(); @@ -739,12 +739,13 @@ void tst_QMediaPlayerBackend::seekPauseSeek() frame.unmap(); } + surface->m_frameList.clear(); positionSpy.clear(); position = 12000; player.setPosition(position); QTRY_VERIFY(!positionSpy.isEmpty() && qAbs(player.position() - position) < (qint64)500); QCOMPARE(player.state(), QMediaPlayer::PausedState); - QCOMPARE(surface->m_frameList.size(), 2); + QVERIFY(!surface->m_frameList.isEmpty()); { QVideoFrame frame = surface->m_frameList.back(); diff --git a/tests/auto/integration/qsoundeffect/BLACKLIST b/tests/auto/integration/qsoundeffect/BLACKLIST new file mode 100644 index 000000000..f290cc8ff --- /dev/null +++ b/tests/auto/integration/qsoundeffect/BLACKLIST @@ -0,0 +1,6 @@ +# QTBUG-46689 + +[testLooping] +ubuntu-14.04 64bit +redhatenterpriselinuxworkstation-6.6 +opensuse-13.1 diff --git a/tests/auto/integration/qsoundeffect/qsoundeffect.pro b/tests/auto/integration/qsoundeffect/qsoundeffect.pro index cb186db20..bce5fc77a 100644 --- a/tests/auto/integration/qsoundeffect/qsoundeffect.pro +++ b/tests/auto/integration/qsoundeffect/qsoundeffect.pro @@ -15,6 +15,6 @@ unix:!mac { TESTDATA += test.wav -win32:CONFIG += insignificant_test # QTBUG-26509 -linux-*:CONFIG += insignificant_test # QTBUG-26748 DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 + +config_pulseaudio: CONFIG += insignificant_testcase # Crashes in QSoundEffectPrivate::sampleReady with bufferAttr == 0 diff --git a/tests/auto/unit/qaudiodecoder/tst_qaudiodecoder.cpp b/tests/auto/unit/qaudiodecoder/tst_qaudiodecoder.cpp index 72ba0484c..5d1e045d0 100644 --- a/tests/auto/unit/qaudiodecoder/tst_qaudiodecoder.cpp +++ b/tests/auto/unit/qaudiodecoder/tst_qaudiodecoder.cpp @@ -128,7 +128,7 @@ void tst_QAudioDecoder::read() QVERIFY(!b.isValid()); // Wait a while - QTRY_COMPARE(d.bufferAvailable(), 1); + QTRY_VERIFY(d.bufferAvailable()); QVERIFY(d.bufferAvailable()); @@ -189,7 +189,7 @@ void tst_QAudioDecoder::stop() QVERIFY(!b.isValid()); // Wait a while - QTRY_COMPARE(d.bufferAvailable(), 1); + QTRY_VERIFY(d.bufferAvailable()); QVERIFY(d.bufferAvailable()); @@ -231,7 +231,7 @@ void tst_QAudioDecoder::format() QVERIFY(!b.isValid()); // Wait a while - QTRY_COMPARE(d.bufferAvailable(), 1); + QTRY_VERIFY(d.bufferAvailable()); b = d.read(); QVERIFY(d.audioFormat() == b.format()); @@ -251,7 +251,7 @@ void tst_QAudioDecoder::format() // Decode again d.start(); - QTRY_COMPARE(d.bufferAvailable(), 1); + QTRY_VERIFY(d.bufferAvailable()); b = d.read(); QVERIFY(d.audioFormat() == f); diff --git a/tests/auto/unit/qdeclarativeaudio/qdeclarativeaudio.pro b/tests/auto/unit/qdeclarativeaudio/qdeclarativeaudio.pro index 6471f7b2a..e36c7dc1f 100644 --- a/tests/auto/unit/qdeclarativeaudio/qdeclarativeaudio.pro +++ b/tests/auto/unit/qdeclarativeaudio/qdeclarativeaudio.pro @@ -13,3 +13,7 @@ SOURCES += \ INCLUDEPATH += ../../../../src/imports/multimedia DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0 + +include (../qmultimedia_common/mock.pri) +include (../qmultimedia_common/mockplayer.pri) + diff --git a/tests/auto/unit/qdeclarativeaudio/tst_qdeclarativeaudio.cpp b/tests/auto/unit/qdeclarativeaudio/tst_qdeclarativeaudio.cpp index a257ee7b6..355e25331 100644 --- a/tests/auto/unit/qdeclarativeaudio/tst_qdeclarativeaudio.cpp +++ b/tests/auto/unit/qdeclarativeaudio/tst_qdeclarativeaudio.cpp @@ -38,6 +38,9 @@ #include "qdeclarativeaudio_p.h" #include "qdeclarativemediametadata_p.h" +#include "mockmediaserviceprovider.h" +#include "mockmediaplayerservice.h" + #include <QtMultimedia/qmediametadata.h> #include <qmediaplayercontrol.h> #include <qmediaservice.h> @@ -45,6 +48,8 @@ #include <qmetadatareadercontrol.h> #include <QtGui/qguiapplication.h> +#include <QtQml/qqmlengine.h> +#include <QtQml/qqmlcomponent.h> class tst_QDeclarativeAudio : public QObject { @@ -73,9 +78,11 @@ private slots: void metaData(); void error(); void loops(); + void audioRole(); }; Q_DECLARE_METATYPE(QDeclarativeAudio::Error); +Q_DECLARE_METATYPE(QDeclarativeAudio::AudioRole); class QtTestMediaPlayerControl : public QMediaPlayerControl { @@ -285,6 +292,7 @@ public: void tst_QDeclarativeAudio::initTestCase() { qRegisterMetaType<QDeclarativeAudio::Error>(); + qRegisterMetaType<QDeclarativeAudio::AudioRole>(); } void tst_QDeclarativeAudio::nullPlayerControl() @@ -1007,6 +1015,47 @@ void tst_QDeclarativeAudio::loops() qDebug() << "Testing version 5"; } +void tst_QDeclarativeAudio::audioRole() +{ + MockMediaPlayerService mockService; + MockMediaServiceProvider mockProvider(&mockService); + QMediaServiceProvider::setDefaultServiceProvider(&mockProvider); + + QQmlEngine engine; + QQmlComponent component(&engine); + component.setData("import QtQuick 2.0 \n import QtMultimedia 5.6 \n Audio { }", QUrl()); + + { + mockService.setHasAudioRole(false); + QDeclarativeAudio *audio = static_cast<QDeclarativeAudio*>(component.create()); + + QCOMPARE(audio->audioRole(), QDeclarativeAudio::UnknownRole); + QVERIFY(audio->supportedAudioRoles().isArray()); + QVERIFY(audio->supportedAudioRoles().toVariant().toList().isEmpty()); + + QSignalSpy spy(audio, SIGNAL(audioRoleChanged())); + audio->setAudioRole(QDeclarativeAudio::MusicRole); + QCOMPARE(audio->audioRole(), QDeclarativeAudio::UnknownRole); + QCOMPARE(spy.count(), 0); + } + + { + mockService.reset(); + mockService.setHasAudioRole(true); + QDeclarativeAudio *audio = static_cast<QDeclarativeAudio*>(component.create()); + QSignalSpy spy(audio, SIGNAL(audioRoleChanged())); + + QCOMPARE(audio->audioRole(), QDeclarativeAudio::UnknownRole); + QVERIFY(audio->supportedAudioRoles().isArray()); + QVERIFY(!audio->supportedAudioRoles().toVariant().toList().isEmpty()); + + audio->setAudioRole(QDeclarativeAudio::MusicRole); + QCOMPARE(audio->audioRole(), QDeclarativeAudio::MusicRole); + QCOMPARE(mockService.mockAudioRoleControl->audioRole(), QAudio::MusicRole); + QCOMPARE(spy.count(), 1); + } +} + QTEST_MAIN(tst_QDeclarativeAudio) #include "tst_qdeclarativeaudio.moc" diff --git a/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp index 0271f1a8f..84248cd46 100644 --- a/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp +++ b/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp @@ -135,6 +135,7 @@ private slots: void testSupportedMimeTypes(); void testQrc_data(); void testQrc(); + void testAudioRole(); private: void setupCommonTestData(); @@ -1296,5 +1297,45 @@ void tst_QMediaPlayer::testQrc() QCOMPARE(bool(mockService->mockControl->mediaStream()), backendHasStream); } +void tst_QMediaPlayer::testAudioRole() +{ + { + mockService->setHasAudioRole(false); + QMediaPlayer player; + + QCOMPARE(player.audioRole(), QAudio::UnknownRole); + QVERIFY(player.supportedAudioRoles().isEmpty()); + + QSignalSpy spy(&player, SIGNAL(audioRoleChanged(QAudio::Role))); + player.setAudioRole(QAudio::MusicRole); + QCOMPARE(player.audioRole(), QAudio::UnknownRole); + QCOMPARE(spy.count(), 0); + } + + { + mockService->reset(); + mockService->setHasAudioRole(true); + QMediaPlayer player; + QSignalSpy spy(&player, SIGNAL(audioRoleChanged(QAudio::Role))); + + QCOMPARE(player.audioRole(), QAudio::UnknownRole); + QVERIFY(!player.supportedAudioRoles().isEmpty()); + + player.setAudioRole(QAudio::MusicRole); + QCOMPARE(player.audioRole(), QAudio::MusicRole); + QCOMPARE(mockService->mockAudioRoleControl->audioRole(), QAudio::MusicRole); + QCOMPARE(spy.count(), 1); + QCOMPARE(qvariant_cast<QAudio::Role>(spy.last().value(0)), QAudio::MusicRole); + + spy.clear(); + + player.setProperty("audioRole", qVariantFromValue(QAudio::AlarmRole)); + QCOMPARE(qvariant_cast<QAudio::Role>(player.property("audioRole")), QAudio::AlarmRole); + QCOMPARE(mockService->mockAudioRoleControl->audioRole(), QAudio::AlarmRole); + QCOMPARE(spy.count(), 1); + QCOMPARE(qvariant_cast<QAudio::Role>(spy.last().value(0)), QAudio::AlarmRole); + } +} + QTEST_GUILESS_MAIN(tst_QMediaPlayer) #include "tst_qmediaplayer.moc" diff --git a/tests/auto/unit/qmediaplaylist/tst_qmediaplaylist.cpp b/tests/auto/unit/qmediaplaylist/tst_qmediaplaylist.cpp index daecda82b..104046d0e 100644 --- a/tests/auto/unit/qmediaplaylist/tst_qmediaplaylist.cpp +++ b/tests/auto/unit/qmediaplaylist/tst_qmediaplaylist.cpp @@ -51,14 +51,16 @@ QT_USE_NAMESPACE -class MockReadOnlyPlaylistObject : public QMediaObject +class MockPlaylistObject : public QMediaObject { Q_OBJECT public: - MockReadOnlyPlaylistObject(QObject *parent = 0) - :QMediaObject(parent, new MockPlaylistService) + MockPlaylistObject(QObject *parent = 0) + : QMediaObject(parent, mockService = new MockPlaylistService) { } + + MockPlaylistService *mockService; }; class tst_QMediaPlaylist : public QObject @@ -711,7 +713,9 @@ void tst_QMediaPlaylist::shuffle() void tst_QMediaPlaylist::readOnlyPlaylist() { - MockReadOnlyPlaylistObject mediaObject; + MockPlaylistObject mediaObject; + mediaObject.mockService->mockControl->setReadOnly(true); + QMediaPlaylist playlist; mediaObject.bind(&playlist); @@ -777,26 +781,280 @@ void tst_QMediaPlaylist::readOnlyPlaylist() void tst_QMediaPlaylist::setMediaObject() { - MockReadOnlyPlaylistObject mediaObject; - - QMediaPlaylist playlist; - QVERIFY(playlist.mediaObject() == 0); - QVERIFY(!playlist.isReadOnly()); - - mediaObject.bind(&playlist); - QCOMPARE(playlist.mediaObject(), qobject_cast<QMediaObject*>(&mediaObject)); - QCOMPARE(playlist.mediaCount(), 3); - QVERIFY(playlist.isReadOnly()); - - mediaObject.unbind(&playlist); - QVERIFY(playlist.mediaObject() == 0); - QCOMPARE(playlist.mediaCount(), 0); - QVERIFY(!playlist.isReadOnly()); + QMediaContent content0(QUrl(QLatin1String("test://audio/song1.mp3"))); + QMediaContent content1(QUrl(QLatin1String("test://audio/song2.mp3"))); + QMediaContent content2(QUrl(QLatin1String("test://video/movie1.mp4"))); + QMediaContent content3(QUrl(QLatin1String("test://video/movie2.mp4"))); - mediaObject.bind(&playlist); - QCOMPARE(playlist.mediaObject(), qobject_cast<QMediaObject*>(&mediaObject)); - QCOMPARE(playlist.mediaCount(), 3); - QVERIFY(playlist.isReadOnly()); + { + MockPlaylistObject mediaObject; + + QMediaPlaylist playlist; + QSignalSpy currentIndexSpy(&playlist, SIGNAL(currentIndexChanged(int))); + QSignalSpy playbackModeSpy(&playlist, SIGNAL(playbackModeChanged(QMediaPlaylist::PlaybackMode))); + QSignalSpy mediaAboutToBeInsertedSpy(&playlist, SIGNAL(mediaAboutToBeInserted(int, int))); + QSignalSpy mediaInsertedSpy(&playlist, SIGNAL(mediaInserted(int, int))); + QSignalSpy mediaAboutToBeRemovedSpy(&playlist, SIGNAL(mediaAboutToBeRemoved(int, int))); + QSignalSpy mediaRemovedSpy(&playlist, SIGNAL(mediaRemoved(int, int))); + QSignalSpy mediaChangedSpy(&playlist, SIGNAL(mediaChanged(int, int))); + + QVERIFY(playlist.isEmpty()); + + mediaObject.bind(&playlist); + + // Playlist is now using the service's control, nothing should have changed + QVERIFY(playlist.isEmpty()); + QCOMPARE(playlist.currentIndex(), -1); + QCOMPARE(playlist.playbackMode(), QMediaPlaylist::Sequential); + QCOMPARE(currentIndexSpy.count(), 0); + QCOMPARE(playbackModeSpy.count(), 0); + QCOMPARE(mediaAboutToBeInsertedSpy.count(), 0); + QCOMPARE(mediaInsertedSpy.count(), 0); + QCOMPARE(mediaAboutToBeRemovedSpy.count(), 0); + QCOMPARE(mediaRemovedSpy.count(), 0); + QCOMPARE(mediaChangedSpy.count(), 0); + + // add items to service's playlist control + playlist.addMedia(content0); + playlist.addMedia(content1); + playlist.setCurrentIndex(1); + playlist.setPlaybackMode(QMediaPlaylist::Random); + QCOMPARE(playlist.mediaCount(), 2); + QCOMPARE(playlist.currentIndex(), 1); + QCOMPARE(playlist.currentMedia(), content1); + QCOMPARE(playlist.playbackMode(), QMediaPlaylist::Random); + + currentIndexSpy.clear(); + playbackModeSpy.clear(); + mediaAboutToBeInsertedSpy.clear(); + mediaInsertedSpy.clear(); + mediaAboutToBeRemovedSpy.clear(); + mediaRemovedSpy.clear(); + mediaChangedSpy.clear(); + + // unbind the playlist, reverting back to the internal control. + // playlist content should't have changed. + mediaObject.unbind(&playlist); + QCOMPARE(playlist.mediaCount(), 2); + QCOMPARE(playlist.currentIndex(), 1); + QCOMPARE(playlist.currentMedia(), content1); + QCOMPARE(playlist.playbackMode(), QMediaPlaylist::Random); + QCOMPARE(playbackModeSpy.count(), 0); + QCOMPARE(mediaAboutToBeInsertedSpy.count(), 0); + QCOMPARE(mediaInsertedSpy.count(), 0); + QCOMPARE(mediaAboutToBeRemovedSpy.count(), 0); + QCOMPARE(mediaRemovedSpy.count(), 0); + QCOMPARE(mediaChangedSpy.count(), 0); + } + { + MockPlaylistObject mediaObject; + + QMediaPlaylist playlist; + QVERIFY(playlist.isEmpty()); + // Add items to playlist before binding to the service (internal control) + playlist.addMedia(content0); + playlist.addMedia(content1); + playlist.addMedia(content2); + playlist.setCurrentIndex(2); + playlist.setPlaybackMode(QMediaPlaylist::CurrentItemOnce); + + QSignalSpy currentIndexSpy(&playlist, SIGNAL(currentIndexChanged(int))); + QSignalSpy playbackModeSpy(&playlist, SIGNAL(playbackModeChanged(QMediaPlaylist::PlaybackMode))); + QSignalSpy mediaAboutToBeInsertedSpy(&playlist, SIGNAL(mediaAboutToBeInserted(int, int))); + QSignalSpy mediaInsertedSpy(&playlist, SIGNAL(mediaInserted(int, int))); + QSignalSpy mediaAboutToBeRemovedSpy(&playlist, SIGNAL(mediaAboutToBeRemoved(int, int))); + QSignalSpy mediaRemovedSpy(&playlist, SIGNAL(mediaRemoved(int, int))); + QSignalSpy mediaChangedSpy(&playlist, SIGNAL(mediaChanged(int, int))); + + // Bind playlist, content should be unchanged + mediaObject.bind(&playlist); + QCOMPARE(playlist.mediaCount(), 3); + QCOMPARE(playlist.currentIndex(), 2); + QCOMPARE(playlist.currentMedia(), content2); + QCOMPARE(playlist.playbackMode(), QMediaPlaylist::CurrentItemOnce); + QCOMPARE(currentIndexSpy.count(), 0); + QCOMPARE(playbackModeSpy.count(), 0); + QCOMPARE(mediaAboutToBeInsertedSpy.count(), 0); + QCOMPARE(mediaInsertedSpy.count(), 0); + QCOMPARE(mediaAboutToBeRemovedSpy.count(), 0); + QCOMPARE(mediaRemovedSpy.count(), 0); + QCOMPARE(mediaChangedSpy.count(), 0); + + // Clear playlist content (service's playlist control) + playlist.clear(); + playlist.setCurrentIndex(-1); + playlist.setPlaybackMode(QMediaPlaylist::Random); + + currentIndexSpy.clear(); + playbackModeSpy.clear(); + mediaAboutToBeInsertedSpy.clear(); + mediaInsertedSpy.clear(); + mediaAboutToBeRemovedSpy.clear(); + mediaRemovedSpy.clear(); + mediaChangedSpy.clear(); + + // unbind playlist from service, reverting back to the internal control. + // playlist should still be empty + mediaObject.unbind(&playlist); + QCOMPARE(playlist.mediaCount(), 0); + QCOMPARE(playlist.currentIndex(), -1); + QCOMPARE(playlist.currentMedia(), QMediaContent()); + QCOMPARE(playlist.playbackMode(), QMediaPlaylist::Random); + QCOMPARE(playbackModeSpy.count(), 0); + QCOMPARE(mediaAboutToBeInsertedSpy.count(), 0); + QCOMPARE(mediaInsertedSpy.count(), 0); + QCOMPARE(mediaAboutToBeRemovedSpy.count(), 0); + QCOMPARE(mediaRemovedSpy.count(), 0); + QCOMPARE(mediaChangedSpy.count(), 0); + } + { + MockPlaylistObject mediaObject; + + QMediaPlaylist playlist; + QVERIFY(playlist.isEmpty()); + // Add items to playlist before attaching to media player (internal control) + playlist.addMedia(content0); + playlist.addMedia(content1); + playlist.setCurrentIndex(-1); + playlist.setPlaybackMode(QMediaPlaylist::CurrentItemOnce); + + // Add items to service's playlist before binding + QMediaPlaylistProvider *pp = mediaObject.mockService->mockControl->playlistProvider(); + pp->addMedia(content2); + pp->addMedia(content3); + mediaObject.mockService->mockControl->setCurrentIndex(1); + mediaObject.mockService->mockControl->setPlaybackMode(QMediaPlaylist::Random); + + QSignalSpy currentIndexSpy(&playlist, SIGNAL(currentIndexChanged(int))); + QSignalSpy playbackModeSpy(&playlist, SIGNAL(playbackModeChanged(QMediaPlaylist::PlaybackMode))); + QSignalSpy mediaAboutToBeInsertedSpy(&playlist, SIGNAL(mediaAboutToBeInserted(int, int))); + QSignalSpy mediaInsertedSpy(&playlist, SIGNAL(mediaInserted(int, int))); + QSignalSpy mediaAboutToBeRemovedSpy(&playlist, SIGNAL(mediaAboutToBeRemoved(int, int))); + QSignalSpy mediaRemovedSpy(&playlist, SIGNAL(mediaRemoved(int, int))); + QSignalSpy mediaChangedSpy(&playlist, SIGNAL(mediaChanged(int, int))); + + // Bind playlist, it should contain only what was explicitly added to the playlist. + // Anything that was present in the service's control should have been cleared + mediaObject.bind(&playlist); + QCOMPARE(playlist.mediaCount(), 2); + QCOMPARE(playlist.currentIndex(), -1); + QCOMPARE(playlist.playbackMode(), QMediaPlaylist::CurrentItemOnce); + QCOMPARE(currentIndexSpy.count(), 0); + QCOMPARE(playbackModeSpy.count(), 0); + QCOMPARE(mediaAboutToBeInsertedSpy.count(), 0); + QCOMPARE(mediaInsertedSpy.count(), 0); + QCOMPARE(mediaAboutToBeRemovedSpy.count(), 0); + QCOMPARE(mediaRemovedSpy.count(), 0); + QCOMPARE(mediaChangedSpy.count(), 0); + + // do some changes + playlist.removeMedia(0); // content0 + playlist.addMedia(content3); + playlist.setCurrentIndex(0); + + currentIndexSpy.clear(); + playbackModeSpy.clear(); + mediaAboutToBeInsertedSpy.clear(); + mediaInsertedSpy.clear(); + mediaAboutToBeRemovedSpy.clear(); + mediaRemovedSpy.clear(); + mediaChangedSpy.clear(); + + // unbind playlist from service + mediaObject.unbind(&playlist); + QCOMPARE(playlist.mediaCount(), 2); + QCOMPARE(playlist.currentIndex(), 0); + QCOMPARE(playlist.currentMedia(), content1); + QCOMPARE(playlist.playbackMode(), QMediaPlaylist::CurrentItemOnce); + QCOMPARE(currentIndexSpy.count(), 0); + QCOMPARE(playbackModeSpy.count(), 0); + QCOMPARE(mediaAboutToBeInsertedSpy.count(), 0); + QCOMPARE(mediaInsertedSpy.count(), 0); + QCOMPARE(mediaAboutToBeRemovedSpy.count(), 0); + QCOMPARE(mediaRemovedSpy.count(), 0); + QCOMPARE(mediaChangedSpy.count(), 0); + + // bind again, nothing should have changed + mediaObject.bind(&playlist); + QCOMPARE(playlist.mediaCount(), 2); + QCOMPARE(playlist.currentIndex(), 0); + QCOMPARE(playlist.currentMedia(), content1); + QCOMPARE(playlist.playbackMode(), QMediaPlaylist::CurrentItemOnce); + QCOMPARE(currentIndexSpy.count(), 0); + QCOMPARE(playbackModeSpy.count(), 0); + QCOMPARE(mediaAboutToBeInsertedSpy.count(), 0); + QCOMPARE(mediaInsertedSpy.count(), 0); + QCOMPARE(mediaAboutToBeRemovedSpy.count(), 0); + QCOMPARE(mediaRemovedSpy.count(), 0); + QCOMPARE(mediaChangedSpy.count(), 0); + } + { + MockPlaylistObject mediaObject; + mediaObject.mockService->mockControl->setReadOnly(true); + + QMediaPlaylist playlist; + QVERIFY(playlist.isEmpty()); + // Add items to playlist before binding to the service internal control) + playlist.addMedia(content0); + playlist.addMedia(content1); + playlist.setCurrentIndex(-1); + playlist.setPlaybackMode(QMediaPlaylist::CurrentItemOnce); + + QSignalSpy currentIndexSpy(&playlist, SIGNAL(currentIndexChanged(int))); + QSignalSpy playbackModeSpy(&playlist, SIGNAL(playbackModeChanged(QMediaPlaylist::PlaybackMode))); + QSignalSpy mediaAboutToBeInsertedSpy(&playlist, SIGNAL(mediaAboutToBeInserted(int, int))); + QSignalSpy mediaInsertedSpy(&playlist, SIGNAL(mediaInserted(int, int))); + QSignalSpy mediaAboutToBeRemovedSpy(&playlist, SIGNAL(mediaAboutToBeRemoved(int, int))); + QSignalSpy mediaRemovedSpy(&playlist, SIGNAL(mediaRemoved(int, int))); + QSignalSpy mediaChangedSpy(&playlist, SIGNAL(mediaChanged(int, int))); + + // Bind playlist. Since the service's control is read-only, no synchronization + // should be done with the internal control. The mediaRemoved() and mediaInserted() + // should be emitted to notify about the change. + mediaObject.bind(&playlist); + QCOMPARE(playlist.mediaCount(), 3); + QCOMPARE(playlist.currentIndex(), -1); + QCOMPARE(playlist.playbackMode(), QMediaPlaylist::CurrentItemOnce); + QCOMPARE(currentIndexSpy.count(), 0); + QCOMPARE(playbackModeSpy.count(), 0); + + QCOMPARE(mediaAboutToBeRemovedSpy.count(), 1); + QCOMPARE(mediaAboutToBeRemovedSpy.last().at(0).toInt(), 0); + QCOMPARE(mediaAboutToBeRemovedSpy.last().at(1).toInt(), 1); + QCOMPARE(mediaRemovedSpy.count(), 1); + QCOMPARE(mediaRemovedSpy.last().at(0).toInt(), 0); + QCOMPARE(mediaRemovedSpy.last().at(1).toInt(), 1); + + QCOMPARE(mediaAboutToBeInsertedSpy.count(), 1); + QCOMPARE(mediaAboutToBeInsertedSpy.last().at(0).toInt(), 0); + QCOMPARE(mediaAboutToBeInsertedSpy.last().at(1).toInt(), 2); + QCOMPARE(mediaInsertedSpy.count(), 1); + QCOMPARE(mediaInsertedSpy.last().at(0).toInt(), 0); + QCOMPARE(mediaInsertedSpy.last().at(1).toInt(), 2); + + QCOMPARE(mediaChangedSpy.count(), 0); + + currentIndexSpy.clear(); + playbackModeSpy.clear(); + mediaAboutToBeInsertedSpy.clear(); + mediaInsertedSpy.clear(); + mediaAboutToBeRemovedSpy.clear(); + mediaRemovedSpy.clear(); + mediaChangedSpy.clear(); + + // detach playlist from player + mediaObject.unbind(&playlist); + QCOMPARE(playlist.mediaCount(), 3); + QCOMPARE(playlist.currentIndex(), -1); + QCOMPARE(playlist.playbackMode(), QMediaPlaylist::CurrentItemOnce); + QCOMPARE(currentIndexSpy.count(), 0); + QCOMPARE(playbackModeSpy.count(), 0); + QCOMPARE(mediaAboutToBeInsertedSpy.count(), 0); + QCOMPARE(mediaInsertedSpy.count(), 0); + QCOMPARE(mediaAboutToBeRemovedSpy.count(), 0); + QCOMPARE(mediaRemovedSpy.count(), 0); + QCOMPARE(mediaChangedSpy.count(), 0); + } } void tst_QMediaPlaylist::testCurrentIndexChanged_signal() diff --git a/tests/auto/unit/qmultimedia_common/mockaudiorolecontrol.h b/tests/auto/unit/qmultimedia_common/mockaudiorolecontrol.h new file mode 100644 index 000000000..6ba2328b9 --- /dev/null +++ b/tests/auto/unit/qmultimedia_common/mockaudiorolecontrol.h @@ -0,0 +1,72 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef MOCKAUDIOROLECONTROL_H +#define MOCKAUDIOROLECONTROL_H + +#include <qaudiorolecontrol.h> + +class MockAudioRoleControl : public QAudioRoleControl +{ + friend class MockMediaPlayerService; + +public: + MockAudioRoleControl() + : QAudioRoleControl() + , m_audioRole(QAudio::UnknownRole) + { + } + + QAudio::Role audioRole() const + { + return m_audioRole; + } + + void setAudioRole(QAudio::Role role) + { + if (role != m_audioRole) + emit audioRoleChanged(m_audioRole = role); + } + + QList<QAudio::Role> supportedAudioRoles() const + { + return QList<QAudio::Role>() << QAudio::MusicRole + << QAudio::AlarmRole + << QAudio::NotificationRole; + } + + QAudio::Role m_audioRole; +}; + +#endif // MOCKAUDIOROLECONTROL_H + diff --git a/tests/auto/unit/qmultimedia_common/mockmediaplayerservice.h b/tests/auto/unit/qmultimedia_common/mockmediaplayerservice.h index d5c6d2e9f..398f92ac2 100644 --- a/tests/auto/unit/qmultimedia_common/mockmediaplayerservice.h +++ b/tests/auto/unit/qmultimedia_common/mockmediaplayerservice.h @@ -42,6 +42,7 @@ #include "mockvideorenderercontrol.h" #include "mockvideoprobecontrol.h" #include "mockvideowindowcontrol.h" +#include "mockaudiorolecontrol.h" class MockMediaPlayerService : public QMediaService { @@ -51,6 +52,7 @@ public: MockMediaPlayerService():QMediaService(0) { mockControl = new MockMediaPlayerControl; + mockAudioRoleControl = new MockAudioRoleControl; mockStreamsControl = new MockStreamsControl; mockNetworkControl = new MockNetworkAccessControl; rendererControl = new MockVideoRendererControl; @@ -58,11 +60,13 @@ public: mockVideoProbeControl = new MockVideoProbeControl; windowControl = new MockVideoWindowControl; windowRef = 0; + enableAudioRole = true; } ~MockMediaPlayerService() { delete mockControl; + delete mockAudioRoleControl; delete mockStreamsControl; delete mockNetworkControl; delete rendererControl; @@ -87,6 +91,8 @@ public: windowRef += 1; return windowControl; } + } else if (enableAudioRole && qstrcmp(iid, QAudioRoleControl_iid) == 0) { + return mockAudioRoleControl; } if (qstrcmp(iid, QMediaNetworkAccessControl_iid) == 0) @@ -125,6 +131,8 @@ public: void selectCurrentConfiguration(QNetworkConfiguration config) { mockNetworkControl->setCurrentConfiguration(config); } + void setHasAudioRole(bool enable) { enableAudioRole = enable; } + void reset() { mockControl->_state = QMediaPlayer::StoppedState; @@ -143,11 +151,15 @@ public: mockControl->_isValid = false; mockControl->_errorString = QString(); + enableAudioRole = true; + mockAudioRoleControl->m_audioRole = QAudio::UnknownRole; + mockNetworkControl->_current = QNetworkConfiguration(); mockNetworkControl->_configurations = QList<QNetworkConfiguration>(); } MockMediaPlayerControl *mockControl; + MockAudioRoleControl *mockAudioRoleControl; MockStreamsControl *mockStreamsControl; MockNetworkAccessControl *mockNetworkControl; MockVideoRendererControl *rendererControl; @@ -155,6 +167,7 @@ public: MockVideoWindowControl *windowControl; int windowRef; int rendererRef; + bool enableAudioRole; }; diff --git a/tests/auto/unit/qmultimedia_common/mockmediaplaylistcontrol.h b/tests/auto/unit/qmultimedia_common/mockmediaplaylistcontrol.h index 6620aa763..9f4eabf38 100644 --- a/tests/auto/unit/qmultimedia_common/mockmediaplaylistcontrol.h +++ b/tests/auto/unit/qmultimedia_common/mockmediaplaylistcontrol.h @@ -36,24 +36,52 @@ #include <private/qmediaplaylistcontrol_p.h> #include <private/qmediaplaylistnavigator_p.h> +#include <private/qmedianetworkplaylistprovider_p.h> #include "mockreadonlyplaylistprovider.h" -// Hmm, read only. class MockMediaPlaylistControl : public QMediaPlaylistControl { - Q_OBJECT public: - MockMediaPlaylistControl(QObject *parent) : QMediaPlaylistControl(parent) + MockMediaPlaylistControl(bool readonly = false, QObject *parent = 0) + : QMediaPlaylistControl(parent) + , m_navigator(0) + , m_playlist(0) + , m_ownsProvider(false) + , m_readOnly(readonly) { - m_navigator = new QMediaPlaylistNavigator(new MockReadOnlyPlaylistProvider(this), this); + reset(); } ~MockMediaPlaylistControl() { } - QMediaPlaylistProvider* playlistProvider() const { return m_navigator->playlist(); } + void reset() + { + delete m_navigator; + if (m_ownsProvider) + delete m_playlist; + + if (m_readOnly) + m_playlist = new MockReadOnlyPlaylistProvider(this); + else + m_playlist = new QMediaNetworkPlaylistProvider(this); + + m_ownsProvider = true; + m_navigator = new QMediaPlaylistNavigator(m_playlist, this); + } + + void setReadOnly(bool ro) + { + if (m_readOnly == ro) + return; + + m_readOnly = ro; + reset(); + } + + QMediaPlaylistProvider* playlistProvider() const { return m_playlist; } bool setPlaylistProvider(QMediaPlaylistProvider *newProvider) { bool bMediaContentChanged = false; @@ -70,6 +98,11 @@ public: emit currentMediaChanged(newProvider->media(i)); } + if (m_ownsProvider) + delete m_playlist; + m_playlist = newProvider; + m_ownsProvider = false; + m_navigator->setPlaylist(newProvider); return true; } @@ -99,6 +132,9 @@ public: private: QMediaPlaylistNavigator *m_navigator; + QMediaPlaylistProvider *m_playlist; + bool m_ownsProvider; + bool m_readOnly; }; #endif // MOCKMEDIAPLAYLISTCONTROL_H diff --git a/tests/auto/unit/qmultimedia_common/mockplayer.pri b/tests/auto/unit/qmultimedia_common/mockplayer.pri index 74f289d47..c43fb31e5 100644 --- a/tests/auto/unit/qmultimedia_common/mockplayer.pri +++ b/tests/auto/unit/qmultimedia_common/mockplayer.pri @@ -8,6 +8,7 @@ HEADERS *= \ ../qmultimedia_common/mockmediaplayercontrol.h \ ../qmultimedia_common/mockmediastreamscontrol.h \ ../qmultimedia_common/mockmedianetworkaccesscontrol.h \ - ../qmultimedia_common/mockvideoprobecontrol.h + ../qmultimedia_common/mockvideoprobecontrol.h \ + ../qmultimedia_common/mockaudiorolecontrol.h include(mockvideo.pri) diff --git a/tests/auto/unit/qmultimedia_common/mockplaylistservice.h b/tests/auto/unit/qmultimedia_common/mockplaylistservice.h index 95d95dbff..6c038abfe 100644 --- a/tests/auto/unit/qmultimedia_common/mockplaylistservice.h +++ b/tests/auto/unit/qmultimedia_common/mockplaylistservice.h @@ -44,7 +44,7 @@ class MockPlaylistService : public QMediaService public: MockPlaylistService():QMediaService(0) { - mockControl = new MockMediaPlaylistControl(this); + mockControl = new MockMediaPlaylistControl(false, this); } ~MockPlaylistService() diff --git a/tests/auto/unit/qmultimedia_common/mockreadonlyplaylistprovider.h b/tests/auto/unit/qmultimedia_common/mockreadonlyplaylistprovider.h index 50747c1ad..39b1598b0 100644 --- a/tests/auto/unit/qmultimedia_common/mockreadonlyplaylistprovider.h +++ b/tests/auto/unit/qmultimedia_common/mockreadonlyplaylistprovider.h @@ -38,7 +38,6 @@ class MockReadOnlyPlaylistProvider : public QMediaPlaylistProvider { - Q_OBJECT public: MockReadOnlyPlaylistProvider(QObject *parent) :QMediaPlaylistProvider(parent) diff --git a/tests/auto/unit/qvideowidget/tst_qvideowidget.cpp b/tests/auto/unit/qvideowidget/tst_qvideowidget.cpp index 2f84de03f..8dd1f39f4 100644 --- a/tests/auto/unit/qvideowidget/tst_qvideowidget.cpp +++ b/tests/auto/unit/qvideowidget/tst_qvideowidget.cpp @@ -114,6 +114,17 @@ private: Q_DECLARE_METATYPE(Qt::AspectRatioMode) Q_DECLARE_METATYPE(const uchar *) +class QtTestVideoWidget : public QVideoWidget +{ +public: + QtTestVideoWidget(QWidget *parent = 0) + : QVideoWidget(parent) + { + setWindowFlags(Qt::X11BypassWindowManagerHint); + resize(320, 240); + } +}; + class QtTestWindowControl : public QVideoWindowControl { public: @@ -339,8 +350,7 @@ public: void tst_QVideoWidget::nullObject() { - QVideoWidget widget; - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); + QtTestVideoWidget widget; QVERIFY(widget.sizeHint().isEmpty()); @@ -425,11 +435,9 @@ void tst_QVideoWidget::nullService() { QtTestVideoObject object(0); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); - QVERIFY(widget.sizeHint().isEmpty()); widget.show(); @@ -459,9 +467,8 @@ void tst_QVideoWidget::noOutputs() { QtTestVideoObject object(0, 0, 0); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); QVERIFY(widget.sizeHint().isEmpty()); @@ -489,9 +496,8 @@ void tst_QVideoWidget::serviceDestroyed() QtTestVideoObject object(new QtTestWindowControl, new QtTestWidgetControl, 0); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -526,16 +532,14 @@ void tst_QVideoWidget::objectDestroyed() new QtTestWidgetControl, 0); - QVideoWidget widget; + QtTestVideoWidget widget; object->bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); QCOMPARE(object->testService->windowRef, 0); QCOMPARE(object->testService->widgetRef, 1); QCOMPARE(object->testService->rendererRef, 0); widget.show(); - QVERIFY(QTest::qWaitForWindowExposed(&widget)); widget.setBrightness(100); widget.setContrast(100); @@ -569,8 +573,7 @@ void tst_QVideoWidget::setMediaObject() QtTestVideoObject widgetObject(0, new QtTestWidgetControl, 0); QtTestVideoObject rendererObject(0, 0, new QtTestRendererControl); - QVideoWidget widget; - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); + QtTestVideoWidget widget; widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -622,9 +625,8 @@ void tst_QVideoWidget::showWindowControl() QtTestVideoObject object(new QtTestWindowControl, 0, 0); object.testService->windowControl->setNativeSize(QSize(240, 180)); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -648,9 +650,8 @@ void tst_QVideoWidget::showWidgetControl() #endif QtTestVideoObject object(0, new QtTestWidgetControl, 0); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -672,9 +673,8 @@ void tst_QVideoWidget::showRendererControl() #endif QtTestVideoObject object(0, 0, new QtTestRendererControl); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -693,9 +693,8 @@ void tst_QVideoWidget::aspectRatioWindowControl() QtTestVideoObject object(new QtTestWindowControl, 0, 0); object.testService->windowControl->setAspectRatioMode(Qt::IgnoreAspectRatio); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); // Test the aspect ratio defaults to keeping the aspect ratio. QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio); @@ -729,9 +728,8 @@ void tst_QVideoWidget::aspectRatioWidgetControl() QtTestVideoObject object(0, new QtTestWidgetControl, 0); object.testService->widgetControl->setAspectRatioMode(Qt::IgnoreAspectRatio); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); // Test the aspect ratio defaults to keeping the aspect ratio. QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio); @@ -764,9 +762,8 @@ void tst_QVideoWidget::aspectRatioRendererControl() QtTestVideoObject object(0, 0, new QtTestRendererControl); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); // Test the aspect ratio defaults to keeping the aspect ratio. QCOMPARE(widget.aspectRatioMode(), Qt::KeepAspectRatio); @@ -801,9 +798,8 @@ void tst_QVideoWidget::sizeHintWindowControl() QFETCH(QSize, size); QtTestVideoObject object(new QtTestWindowControl, 0, 0); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -822,9 +818,8 @@ void tst_QVideoWidget::sizeHintWidgetControl() QFETCH(QSize, size); QtTestVideoObject object(0, new QtTestWidgetControl, 0); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -877,9 +872,8 @@ void tst_QVideoWidget::sizeHintRendererControl() QFETCH(QSize, expectedSize); QtTestVideoObject object(0, 0, new QtTestRendererControl); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -897,7 +891,7 @@ void tst_QVideoWidget::sizeHintRendererControl() void tst_QVideoWidget::fullScreenWindowControl() { QtTestVideoObject object(new QtTestWindowControl, 0, 0); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); widget.showNormal(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -982,7 +976,7 @@ void tst_QVideoWidget::fullScreenWidgetControl() #endif QtTestVideoObject object(0, new QtTestWidgetControl, 0); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); widget.showNormal(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -1068,7 +1062,7 @@ void tst_QVideoWidget::fullScreenRendererControl() #endif QtTestVideoObject object(0, 0, new QtTestRendererControl); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); widget.showNormal(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -1164,9 +1158,8 @@ void tst_QVideoWidget::brightnessWindowControl() QtTestVideoObject object(new QtTestWindowControl, 0, 0); object.testService->windowControl->setBrightness(controlValue); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -1209,9 +1202,8 @@ void tst_QVideoWidget::brightnessWidgetControl() QtTestVideoObject object(0, new QtTestWidgetControl, 0); object.testService->widgetControl->setBrightness(controlValue); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); QCOMPARE(widget.brightness(), 0); @@ -1248,9 +1240,8 @@ void tst_QVideoWidget::brightnessRendererControl() QtTestVideoObject object(0, 0, new QtTestRendererControl); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -1275,9 +1266,8 @@ void tst_QVideoWidget::contrastWindowControl() QtTestVideoObject object(new QtTestWindowControl, 0, 0); object.testService->windowControl->setContrast(controlValue); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); QCOMPARE(widget.contrast(), 0); @@ -1317,9 +1307,8 @@ void tst_QVideoWidget::contrastWidgetControl() QtTestVideoObject object(0, new QtTestWidgetControl, 0); object.testService->widgetControl->setContrast(controlValue); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); QCOMPARE(widget.contrast(), 0); widget.show(); @@ -1356,9 +1345,8 @@ void tst_QVideoWidget::contrastRendererControl() QtTestVideoObject object(0, 0, new QtTestRendererControl); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -1383,9 +1371,8 @@ void tst_QVideoWidget::hueWindowControl() QtTestVideoObject object(new QtTestWindowControl, 0, 0); object.testService->windowControl->setHue(controlValue); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); QCOMPARE(widget.hue(), 0); widget.show(); @@ -1424,9 +1411,8 @@ void tst_QVideoWidget::hueWidgetControl() QtTestVideoObject object(0, new QtTestWidgetControl, 0); object.testService->widgetControl->setHue(controlValue); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); QCOMPARE(widget.hue(), 0); widget.show(); @@ -1463,9 +1449,8 @@ void tst_QVideoWidget::hueRendererControl() QtTestVideoObject object(0, 0, new QtTestRendererControl); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -1490,9 +1475,8 @@ void tst_QVideoWidget::saturationWindowControl() QtTestVideoObject object(new QtTestWindowControl, 0, 0); object.testService->windowControl->setSaturation(controlValue); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); QCOMPARE(widget.saturation(), 0); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); @@ -1530,9 +1514,8 @@ void tst_QVideoWidget::saturationWidgetControl() QtTestVideoObject object(0, new QtTestWidgetControl, 0); object.testService->widgetControl->setSaturation(controlValue); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); QCOMPARE(widget.saturation(), 0); widget.show(); @@ -1570,9 +1553,8 @@ void tst_QVideoWidget::saturationRendererControl() QtTestVideoObject object(0, 0, new QtTestRendererControl); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); QSignalSpy spy(&widget, SIGNAL(saturationChanged(int))); @@ -1597,9 +1579,8 @@ void tst_QVideoWidget::paintRendererControl() { QtTestVideoObject object(0, 0, new QtTestRendererControl); - QVideoWidget widget; + QtTestVideoWidget widget; object.bind(&widget); - widget.setWindowFlags(Qt::X11BypassWindowManagerHint); widget.resize(640,480); widget.show(); QVERIFY(QTest::qWaitForWindowExposed(&widget)); |