diff options
author | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2015-08-24 14:31:24 +0200 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@theqtcompany.com> | 2015-08-24 14:36:13 +0200 |
commit | a2244c9b7aa11e386c3331cbbc36336fb8fea3b9 (patch) | |
tree | a77ac99aa38c40e98aa483795e3cb8061f404203 /tests | |
parent | 31fce88b3fcdbb4d4b2b9a889d24e25c3a5c9507 (diff) | |
parent | 008d20e0ece4c6dac148915b998a0005657d73a1 (diff) |
Merge remote-tracking branch 'origin/5.5' into 5.6
Conflicts:
src/imports/multimedia/qdeclarativeaudio.cpp
Change-Id: I57c6252b084e4ed796f6f308b2e0c717d0f59b13
Diffstat (limited to 'tests')
3 files changed, 571 insertions, 2 deletions
diff --git a/tests/auto/unit/qcamera/tst_qcamera.cpp b/tests/auto/unit/qcamera/tst_qcamera.cpp index 49fce92d5..6d6894e62 100644 --- a/tests/auto/unit/qcamera/tst_qcamera.cpp +++ b/tests/auto/unit/qcamera/tst_qcamera.cpp @@ -90,6 +90,14 @@ private slots: void testImageSettings(); void testViewfinderSettings(); void testViewfinderSettingsChange(); + void testSupportedViewfinderSettings_data(); + void testSupportedViewfinderSettings(); + void testSupportedViewfinderResolutions_data(); + void testSupportedViewfinderResolutions(); + void testSupportedViewfinderFrameRateRanges_data(); + void testSupportedViewfinderFrameRateRanges(); + void testSupportedViewfinderPixelFormats_data(); + void testSupportedViewfinderPixelFormats(); void testCameraLock(); void testCameraLockCancel(); void testCameraEncodingProperyChange(); @@ -163,8 +171,11 @@ private: MockMediaServiceProvider *provider; }; +Q_DECLARE_METATYPE(QCamera::FrameRateRange) + void tst_QCamera::initTestCase() { + qRegisterMetaType<QCamera::FrameRateRange>("FrameRateRange"); } void tst_QCamera::init() @@ -906,7 +917,7 @@ void tst_QCamera::testViewfinderSettings() QVERIFY(!settings.isNull()); settings = QCameraViewfinderSettings(); - QCOMPARE(settings.pixelAspectRatio(), QSize(1, 1)); + QCOMPARE(settings.pixelAspectRatio(), QSize()); settings.setPixelAspectRatio(QSize(2, 1)); QCOMPARE(settings.pixelAspectRatio(), QSize(2, 1)); settings.setPixelAspectRatio(3, 2); @@ -1044,6 +1055,404 @@ void tst_QCamera::testViewfinderSettingsChange() QCOMPARE(statusChangedSignal.count(), 1); } +class ViewfinderSettingsBuilder +{ +public: + ViewfinderSettingsBuilder &setResolution(int width, int height) { + m_settings.setResolution(width, height); + return *this; + } + + ViewfinderSettingsBuilder &setMinimumFrameRate(qreal r) { + m_settings.setMinimumFrameRate(r); + return *this; + } + + ViewfinderSettingsBuilder &setMaximumFrameRate(qreal r) { + m_settings.setMaximumFrameRate(r); + return *this; + } + + ViewfinderSettingsBuilder &setPixelFormat(QVideoFrame::PixelFormat f) { + m_settings.setPixelFormat(f); + return *this; + } + + ViewfinderSettingsBuilder &setPixelAspectRatio(int h, int v) { + m_settings.setPixelAspectRatio(h, v); + return *this; + } + + QCameraViewfinderSettings build() { + QCameraViewfinderSettings s = m_settings; + m_settings = QCameraViewfinderSettings(); + return s; + } + +private: + QCameraViewfinderSettings m_settings; +}; + +void tst_QCamera::testSupportedViewfinderSettings_data() +{ + // see mockcameraviewfindersettingscontrol.h for expected values + + ViewfinderSettingsBuilder builder; + + QTest::addColumn<QCameraViewfinderSettings>("settings"); + QTest::addColumn< QList<int> >("expectedSupportedSettings"); + + QTest::newRow("all supported settings") << QCameraViewfinderSettings() + << (QList<int>() << 0 << 1 << 2 << 3 << 4 << 5); + + QTest::newRow("invalid resolution") << builder.setResolution(452472, 44453).build() + << QList<int>(); + + QTest::newRow("resolution (1)") << builder.setResolution(640, 480).build() + << (QList<int>() << 0); + + QTest::newRow("resolution (2)") << builder.setResolution(1280, 720).build() + << (QList<int>() << 1 << 3 << 4); + + QTest::newRow("invalid minimum frame rate") << builder.setMinimumFrameRate(2).build() + << QList<int>(); + + QTest::newRow("minimum frame rate (1)") << builder.setMinimumFrameRate(5).build() + << (QList<int>() << 2); + + QTest::newRow("minimum frame rate (2)") << builder.setMinimumFrameRate(10).build() + << (QList<int>() << 1 << 3); + + QTest::newRow("minimum frame rate (3)") << builder.setMinimumFrameRate(30).build() + << (QList<int>() << 0 << 4 << 5); + + QTest::newRow("invalid maximum frame rate") << builder.setMaximumFrameRate(2).build() + << QList<int>(); + + QTest::newRow("maximum frame rate (1)") << builder.setMaximumFrameRate(10).build() + << (QList<int>() << 1 << 2 << 3); + + QTest::newRow("maximum frame rate (2)") << builder.setMaximumFrameRate(30).build() + << (QList<int>() << 0 << 4 << 5); + + QTest::newRow("invalid pixel format") << builder.setPixelFormat(QVideoFrame::Format_CameraRaw).build() + << QList<int>(); + + QTest::newRow("pixel format (1)") << builder.setPixelFormat(QVideoFrame::Format_BGR32).build() + << (QList<int>() << 2); + + QTest::newRow("pixel format (2)") << builder.setPixelFormat(QVideoFrame::Format_YV12).build() + << (QList<int>() << 3 << 4); + + QTest::newRow("pixel format (3)") << builder.setPixelFormat(QVideoFrame::Format_NV12).build() + << (QList<int>() << 0 << 1 << 5); + + QTest::newRow("invalid pixel aspect ratio") << builder.setPixelAspectRatio(5, 3).build() + << QList<int>(); + + QTest::newRow("pixel aspect ratio (1)") << builder.setPixelAspectRatio(2, 1).build() + << (QList<int>() << 2); + + QTest::newRow("pixel aspect ratio (2)") << builder.setPixelAspectRatio(1, 1).build() + << (QList<int>() << 0 << 1 << 3 << 4 << 5); + + QTest::newRow("invalid multi settings") << builder.setResolution(640, 480) + .setMinimumFrameRate(10) + .setMaximumFrameRate(10) + .build() + << QList<int>(); + + QTest::newRow("multi settings (1)") << builder.setResolution(640, 480) + .setMinimumFrameRate(30) + .setMaximumFrameRate(30) + .build() + << (QList<int>() << 0); + + QTest::newRow("multi settings (2)") << builder.setResolution(1280, 720) + .setMinimumFrameRate(10) + .setMaximumFrameRate(10) + .build() + << (QList<int>() << 1 << 3); + + QTest::newRow("multi settings (3)") << builder.setPixelFormat(QVideoFrame::Format_NV12) + .setMinimumFrameRate(30) + .build() + << (QList<int>() << 0 << 5); + + QTest::newRow("multi settings (4)") << builder.setPixelAspectRatio(1, 1) + .setMaximumFrameRate(10) + .build() + << (QList<int>() << 1 << 3); +} + +void tst_QCamera::testSupportedViewfinderSettings() +{ + QFETCH(QCameraViewfinderSettings, settings); + QFETCH(QList<int>, expectedSupportedSettings); + + QList<QCameraViewfinderSettings> actualSupportedSettings = QCamera().supportedViewfinderSettings(settings); + QCOMPARE(actualSupportedSettings.size(), expectedSupportedSettings.size()); + for (int i = 0; i < expectedSupportedSettings.size(); ++i) { + QCameraViewfinderSettings expectedSettings = mockCameraService->mockViewfinderSettingsControl->supportedSettings.at(expectedSupportedSettings.at(i)); + QCOMPARE(actualSupportedSettings.at(i), expectedSettings); + } +} + +void tst_QCamera::testSupportedViewfinderResolutions_data() +{ + // see mockcameraviewfindersettingscontrol.h for expected values + + typedef QList<QSize> SizeList; + ViewfinderSettingsBuilder builder; + + QTest::addColumn<QCameraViewfinderSettings>("settings"); + QTest::addColumn<SizeList>("expectedResolutions"); + + QTest::newRow("empty settings") << QCameraViewfinderSettings() + << (SizeList() << QSize(320, 240) + << QSize(640, 480) + << QSize(1280, 720) + << QSize(1920, 1080)); + + QTest::newRow("invalid minimum frame rate") << builder.setMinimumFrameRate(2).build() + << SizeList(); + + QTest::newRow("minimum frame rate (1)") << builder.setMinimumFrameRate(5).build() + << (SizeList() << QSize(1920, 1080)); + + QTest::newRow("minimum frame rate (2)") << builder.setMinimumFrameRate(10).build() + << (SizeList() << QSize(1280, 720)); + + QTest::newRow("minimum frame rate (3)") << builder.setMinimumFrameRate(30).build() + << (SizeList() << QSize(320, 240) + << QSize(640, 480) + << QSize(1280, 720)); + + QTest::newRow("invalid maximum frame rate") << builder.setMaximumFrameRate(2).build() + << SizeList(); + + QTest::newRow("maximum frame rate") << builder.setMaximumFrameRate(10).build() + << (SizeList() << QSize(1280, 720) + << QSize(1920, 1080)); + + QTest::newRow("invalid pixel format") << builder.setPixelFormat(QVideoFrame::Format_CameraRaw).build() + << SizeList(); + + QTest::newRow("pixel format (1)") << builder.setPixelFormat(QVideoFrame::Format_BGR32).build() + << (SizeList() << QSize(1920, 1080)); + + QTest::newRow("pixel format (2)") << builder.setPixelFormat(QVideoFrame::Format_YV12).build() + << (SizeList() << QSize(1280, 720)); + + QTest::newRow("pixel format (3)") << builder.setPixelFormat(QVideoFrame::Format_NV12).build() + << (SizeList() << QSize(320, 240) + << QSize(640, 480) + << QSize(1280, 720)); + + QTest::newRow("invalid pixel aspect ratio") << builder.setPixelAspectRatio(7, 2).build() + << SizeList(); + + QTest::newRow("pixel aspect ratio (1") << builder.setPixelAspectRatio(2, 1).build() + << (SizeList() << QSize(1920, 1080)); + + QTest::newRow("pixel aspect ratio (2") << builder.setPixelAspectRatio(1, 1).build() + << (SizeList() << QSize(320, 240) + << QSize(640, 480) + << QSize(1280, 720)); + + QTest::newRow("invalid multi settings (1)") << builder.setMinimumFrameRate(2) + .setMaximumFrameRate(3) + .build() + << SizeList(); + + QTest::newRow("invalid multi settings (2)") << builder.setMinimumFrameRate(5) + .setMaximumFrameRate(11) + .build() + << SizeList(); + + QTest::newRow("multi settings (1)") << builder.setMinimumFrameRate(10) + .setMaximumFrameRate(10) + .build() + << (SizeList() << QSize(1280, 720)); + + QTest::newRow("multi settings (2)") << builder.setMinimumFrameRate(30) + .setMaximumFrameRate(30) + .build() + << (SizeList() << QSize(320, 240) + << QSize(640, 480) + << QSize(1280, 720)); + + QTest::newRow("multi settings (3)") << builder.setPixelFormat(QVideoFrame::Format_NV12) + .setMinimumFrameRate(30) + .build() + << (SizeList() << QSize(320, 240) + << QSize(640, 480)); + + QTest::newRow("multi settings (4)") << builder.setPixelAspectRatio(1, 1) + .setMaximumFrameRate(10) + .build() + << (SizeList() << QSize(1280, 720)); +} + +void tst_QCamera::testSupportedViewfinderResolutions() +{ + QFETCH(QCameraViewfinderSettings, settings); + QFETCH(QList<QSize>, expectedResolutions); + + QList<QSize> actualResolutions = QCamera().supportedViewfinderResolutions(settings); + QCOMPARE(actualResolutions.size(), expectedResolutions.size()); + for (int i = 0; i < actualResolutions.size(); ++i) + QCOMPARE(actualResolutions.at(i), expectedResolutions.at(i)); +} + +void tst_QCamera::testSupportedViewfinderFrameRateRanges_data() +{ + // see mockcameraviewfindersettingscontrol.h for expected values + + typedef QList<QCamera::FrameRateRange> RangeList; + ViewfinderSettingsBuilder builder; + + QTest::addColumn<QCameraViewfinderSettings>("settings"); + QTest::addColumn<RangeList>("expectedFrameRateRanges"); + + QTest::newRow("empty settings") << QCameraViewfinderSettings() + << (RangeList() << QCamera::FrameRateRange(5, 10) + << QCamera::FrameRateRange(10, 10) + << QCamera::FrameRateRange(30, 30)); + + QTest::newRow("invalid resolution") << builder.setResolution(452472, 444534).build() + << RangeList(); + + QTest::newRow("resolution (1)") << builder.setResolution(320, 240).build() + << (RangeList() << QCamera::FrameRateRange(30, 30)); + + QTest::newRow("resolution (2)") << builder.setResolution(1280, 720).build() + << (RangeList() << QCamera::FrameRateRange(10, 10) + << QCamera::FrameRateRange(30, 30)); + + QTest::newRow("resolution (3)") << builder.setResolution(1920, 1080).build() + << (RangeList() << QCamera::FrameRateRange(5, 10)); + + QTest::newRow("invalid minimum frame rate") << builder.setMinimumFrameRate(2).build() + << RangeList(); + + QTest::newRow("minimum frame rate (1)") << builder.setMinimumFrameRate(5).build() + << (RangeList() << QCamera::FrameRateRange(5, 10)); + + QTest::newRow("minimum frame rate (2)") << builder.setMinimumFrameRate(10).build() + << (RangeList() << QCamera::FrameRateRange(10, 10)); + + QTest::newRow("invalid maximum frame rate") << builder.setMaximumFrameRate(2).build() + << RangeList(); + + QTest::newRow("maximum frame rate (1)") << builder.setMaximumFrameRate(10).build() + << (RangeList() << QCamera::FrameRateRange(5, 10) + << QCamera::FrameRateRange(10, 10)); + + QTest::newRow("maximum frame rate (2)") << builder.setMaximumFrameRate(30).build() + << (RangeList() << QCamera::FrameRateRange(30, 30)); + + QTest::newRow("invalid pixel format") << builder.setPixelFormat(QVideoFrame::Format_IMC1).build() + << RangeList(); + + QTest::newRow("pixel format (1)") << builder.setPixelFormat(QVideoFrame::Format_BGR32).build() + << (RangeList() << QCamera::FrameRateRange(5, 10)); + + QTest::newRow("pixel format (2)") << builder.setPixelFormat(QVideoFrame::Format_NV12).build() + << (RangeList() << QCamera::FrameRateRange(10, 10) + << QCamera::FrameRateRange(30, 30)); + + QTest::newRow("invalid pixel aspect ratio") << builder.setPixelAspectRatio(2, 3).build() + << RangeList(); + + QTest::newRow("pixel aspect ratio (1)") << builder.setPixelAspectRatio(2, 1).build() + << (RangeList() << QCamera::FrameRateRange(5, 10)); + + QTest::newRow("pixel aspect ratio (2)") << builder.setPixelAspectRatio(1, 1).build() + << (RangeList() << QCamera::FrameRateRange(10, 10) + << QCamera::FrameRateRange(30, 30)); +} + +void tst_QCamera::testSupportedViewfinderFrameRateRanges() +{ + QFETCH(QCameraViewfinderSettings, settings); + QFETCH(QList<QCamera::FrameRateRange>, expectedFrameRateRanges); + + QList<QCamera::FrameRateRange> actualFrameRateRanges = QCamera().supportedViewfinderFrameRateRanges(settings); + QCOMPARE(actualFrameRateRanges.size(), expectedFrameRateRanges.size()); + for (int i = 0; i < actualFrameRateRanges.size(); ++i) + QCOMPARE(actualFrameRateRanges.at(i), expectedFrameRateRanges.at(i)); +} + +void tst_QCamera::testSupportedViewfinderPixelFormats_data() +{ + // see mockcameraviewfindersettingscontrol.h for expected values + + typedef QList<QVideoFrame::PixelFormat> FormatList; + ViewfinderSettingsBuilder builder; + + QTest::addColumn<QCameraViewfinderSettings>("settings"); + QTest::addColumn<FormatList>("expectedPixelFormats"); + + QTest::newRow("empty settings") << QCameraViewfinderSettings() + << (FormatList() << QVideoFrame::Format_NV12 + << QVideoFrame::Format_BGR32 + << QVideoFrame::Format_YV12); + + QTest::newRow("invalid resolution") << builder.setResolution(452472, 444534).build() + << FormatList(); + + QTest::newRow("resolution (1)") << builder.setResolution(640, 480).build() + << (FormatList() << QVideoFrame::Format_NV12); + + QTest::newRow("resolution (2)") << builder.setResolution(1280, 720).build() + << (FormatList() << QVideoFrame::Format_NV12 + << QVideoFrame::Format_YV12); + + QTest::newRow("invalid minimum frame rate") << builder.setMinimumFrameRate(2).build() + << FormatList(); + + QTest::newRow("minimum frame rate (1)") << builder.setMinimumFrameRate(5).build() + << (FormatList() << QVideoFrame::Format_BGR32); + + QTest::newRow("minimum frame rate (2)") << builder.setMinimumFrameRate(10).build() + << (FormatList() << QVideoFrame::Format_NV12 + << QVideoFrame::Format_YV12); + + QTest::newRow("invalid maximum frame rate") << builder.setMaximumFrameRate(2).build() + << FormatList(); + + QTest::newRow("maximum frame rate (1)") << builder.setMaximumFrameRate(10).build() + << (FormatList() << QVideoFrame::Format_NV12 + << QVideoFrame::Format_BGR32 + << QVideoFrame::Format_YV12); + + QTest::newRow("maximum frame rate (2)") << builder.setMinimumFrameRate(30).build() + << (FormatList() << QVideoFrame::Format_NV12 + << QVideoFrame::Format_YV12); + + QTest::newRow("invalid pixel aspect ratio") << builder.setPixelAspectRatio(2, 3).build() + << FormatList(); + + QTest::newRow("pixel aspect ratio (1)") << builder.setPixelAspectRatio(2, 1).build() + << (FormatList() << QVideoFrame::Format_BGR32); + + QTest::newRow("pixel aspect ratio (2)") << builder.setPixelAspectRatio(1, 1).build() + << (FormatList() << QVideoFrame::Format_NV12 + << QVideoFrame::Format_YV12); +} + +void tst_QCamera::testSupportedViewfinderPixelFormats() +{ + QFETCH(QCameraViewfinderSettings, settings); + QFETCH(QList<QVideoFrame::PixelFormat>, expectedPixelFormats); + + QList<QVideoFrame::PixelFormat> actualPixelFormats = QCamera().supportedViewfinderPixelFormats(settings); + QCOMPARE(actualPixelFormats.size(), expectedPixelFormats.size()); + for (int i = 0; i < actualPixelFormats.size(); ++i) + QCOMPARE(actualPixelFormats.at(i), expectedPixelFormats.at(i)); +} + void tst_QCamera::testCameraLock() { QCamera camera; 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() diff --git a/tests/auto/unit/qmultimedia_common/mockcameraviewfindersettingscontrol.h b/tests/auto/unit/qmultimedia_common/mockcameraviewfindersettingscontrol.h index f272bb094..85427a70f 100644 --- a/tests/auto/unit/qmultimedia_common/mockcameraviewfindersettingscontrol.h +++ b/tests/auto/unit/qmultimedia_common/mockcameraviewfindersettingscontrol.h @@ -43,6 +43,48 @@ public: MockCameraViewfinderSettingsControl(QObject *parent = 0): QCameraViewfinderSettingsControl2(parent) { + QCameraViewfinderSettings s; + s.setResolution(640, 480); + s.setMinimumFrameRate(30); + s.setMaximumFrameRate(30); + s.setPixelFormat(QVideoFrame::Format_NV12); + s.setPixelAspectRatio(1, 1); + supportedSettings.append(s); + + s.setResolution(1280, 720); + s.setMinimumFrameRate(10); + s.setMaximumFrameRate(10); + s.setPixelFormat(QVideoFrame::Format_NV12); + s.setPixelAspectRatio(1, 1); + supportedSettings.append(s); + + s.setResolution(1920, 1080); + s.setMinimumFrameRate(5); + s.setMaximumFrameRate(10); + s.setPixelFormat(QVideoFrame::Format_BGR32); + s.setPixelAspectRatio(2, 1); + supportedSettings.append(s); + + s.setResolution(1280, 720); + s.setMinimumFrameRate(10); + s.setMaximumFrameRate(10); + s.setPixelFormat(QVideoFrame::Format_YV12); + s.setPixelAspectRatio(1, 1); + supportedSettings.append(s); + + s.setResolution(1280, 720); + s.setMinimumFrameRate(30); + s.setMaximumFrameRate(30); + s.setPixelFormat(QVideoFrame::Format_YV12); + s.setPixelAspectRatio(1, 1); + supportedSettings.append(s); + + s.setResolution(320, 240); + s.setMinimumFrameRate(30); + s.setMaximumFrameRate(30); + s.setPixelFormat(QVideoFrame::Format_NV12); + s.setPixelAspectRatio(1, 1); + supportedSettings.append(s); } ~MockCameraViewfinderSettingsControl() {} @@ -59,10 +101,11 @@ public: QList<QCameraViewfinderSettings> supportedViewfinderSettings() const { - return QList<QCameraViewfinderSettings>(); + return supportedSettings; } QCameraViewfinderSettings settings; + QList<QCameraViewfinderSettings> supportedSettings; }; #endif // MOCKCAMERAVIEWFINDERSETTINGSCONTROL_H |