diff options
Diffstat (limited to 'tests/auto')
3 files changed, 41 insertions, 10 deletions
diff --git a/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp b/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp index d7031ee70..3526cebd0 100644 --- a/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp +++ b/tests/auto/integration/qaudiodecoderbackend/tst_qaudiodecoderbackend.cpp @@ -65,6 +65,7 @@ private slots: private: bool isWavSupported(); + QUrl testFileUrl(const QString filePath); }; void tst_QAudioDecoderBackend::init() @@ -91,6 +92,24 @@ bool tst_QAudioDecoderBackend::isWavSupported() #endif } +QUrl tst_QAudioDecoderBackend::testFileUrl(const QString filePath) +{ + QUrl url; +#ifndef Q_OS_ANDROID + QFileInfo fileInfo(QFINDTESTDATA(filePath)); + url = QUrl::fromLocalFile(fileInfo.absoluteFilePath()); +#else + QFile file(":/" + filePath); + QTemporaryFile *temporaryFile = nullptr; + if (file.open(QIODevice::ReadOnly)) { + temporaryFile = QTemporaryFile::createNativeFile(file); + url = QUrl(temporaryFile->fileName()); + } + temporaryFile->deleteLater(); +#endif + return url; +} + void tst_QAudioDecoderBackend::fileTest() { if (!isWavSupported()) @@ -110,8 +129,7 @@ void tst_QAudioDecoderBackend::fileTest() QVERIFY(d.audioFormat() == QAudioFormat()); // Test local file - QFileInfo fileInfo(QFINDTESTDATA(TEST_FILE_NAME)); - QUrl url = QUrl::fromLocalFile(fileInfo.absoluteFilePath()); + QUrl url = testFileUrl(TEST_FILE_NAME); d.setSource(url); QVERIFY(!d.isDecoding()); QVERIFY(!d.bufferAvailable()); @@ -126,7 +144,7 @@ void tst_QAudioDecoderBackend::fileTest() QSignalSpy positionSpy(&d, SIGNAL(positionChanged(qint64))); d.start(); - QTRY_VERIFY(d.isDecoding()); + QTRY_VERIFY(!isDecodingSpy.isEmpty()); QTRY_VERIFY(!readySpy.isEmpty()); QTRY_VERIFY(!bufferChangedSpy.isEmpty()); @@ -192,6 +210,9 @@ void tst_QAudioDecoderBackend::fileTest() finishedSpy.clear(); positionSpy.clear(); +#ifdef Q_OS_ANDROID + QSKIP("Setting a desired audio format is not yet supported on Android", QTest::SkipSingle); +#endif // change output audio format QAudioFormat format; format.setChannelCount(2); @@ -366,8 +387,7 @@ void tst_QAudioDecoderBackend::corruptedFileTest() QVERIFY(d.audioFormat() == QAudioFormat()); // Test local file - QFileInfo fileInfo(QFINDTESTDATA(TEST_CORRUPTED_FILE_NAME)); - QUrl url = QUrl::fromLocalFile(fileInfo.absoluteFilePath()); + QUrl url = testFileUrl(TEST_CORRUPTED_FILE_NAME); d.setSource(url); QVERIFY(!d.isDecoding()); QVERIFY(!d.bufferAvailable()); @@ -421,7 +441,6 @@ void tst_QAudioDecoderBackend::corruptedFileTest() QVERIFY(positionSpy.isEmpty()); QVERIFY(durationSpy.isEmpty()); - d.stop(); QTRY_VERIFY(!d.isDecoding()); QCOMPARE(d.duration(), qint64(-1)); @@ -543,9 +562,12 @@ void tst_QAudioDecoderBackend::deviceTest() QVERIFY(d.bufferAvailable() == false); QCOMPARE(d.source(), QString("")); QVERIFY(d.audioFormat() == QAudioFormat()); - +#ifndef Q_OS_ANDROID QFileInfo fileInfo(QFINDTESTDATA(TEST_FILE_NAME)); QFile file(fileInfo.absoluteFilePath()); +#else + QFile file(":/" TEST_FILE_NAME); +#endif QVERIFY(file.open(QIODevice::ReadOnly)); d.setSourceDevice(&file); @@ -557,7 +579,6 @@ void tst_QAudioDecoderBackend::deviceTest() d.start(); - QTRY_VERIFY(d.isDecoding()); QTRY_VERIFY(!isDecodingSpy.isEmpty()); QTRY_VERIFY(!readySpy.isEmpty()); QTRY_VERIFY(!bufferChangedSpy.isEmpty()); @@ -617,6 +638,9 @@ void tst_QAudioDecoderBackend::deviceTest() finishedSpy.clear(); positionSpy.clear(); +#ifdef Q_OS_ANDROID + QSKIP("Setting a desired audio format is not yet supported on Android", QTest::SkipSingle); +#endif // Now try changing formats QAudioFormat format; format.setChannelCount(2); diff --git a/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp b/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp index e966498de..db17a500d 100644 --- a/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp +++ b/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp @@ -509,7 +509,7 @@ void tst_QAudioSource::push() QCOMPARE(waveDecoder.size(), QWaveDecoder::headerLength()); // Set a large buffer to avoid underruns during QTest::qWaits - audioInput.setBufferSize(audioFormat.bytesForDuration(1000000)); + audioInput.setBufferSize(audioFormat.bytesForDuration(100000)); QIODevice* feed = audioInput.start(); @@ -572,7 +572,7 @@ void tst_QAudioSource::pushSuspendResume() QFETCH(QAudioFormat, audioFormat); QAudioSource audioInput(audioFormat, this); - audioInput.setBufferSize(audioFormat.bytesForDuration(1000000)); + audioInput.setBufferSize(audioFormat.bytesForDuration(100000)); QSignalSpy stateSignal(&audioInput, SIGNAL(stateChanged(QAudio::State))); diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp index afce5052f..aae70cb43 100644 --- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp +++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp @@ -410,6 +410,7 @@ void tst_QMediaPlayerBackend::playPauseStop() //ensure the position is reset to 0 at stop and positionChanged(0) is emitted QTRY_COMPARE(player.position(), qint64(0)); + QTRY_VERIFY(positionSpy.count() > 0); QCOMPARE(positionSpy.last()[0].value<qint64>(), qint64(0)); QVERIFY(player.duration() > 0); @@ -446,9 +447,12 @@ void tst_QMediaPlayerBackend::playPauseStop() player.setSource(localWavFile); QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::LoadedMedia); + QTRY_VERIFY(statusSpy.count() > 0); QCOMPARE(statusSpy.last()[0].value<QMediaPlayer::MediaStatus>(), QMediaPlayer::LoadedMedia); QCOMPARE(player.playbackState(), QMediaPlayer::StoppedState); + QTRY_VERIFY(stateSpy.count() > 0); QCOMPARE(stateSpy.last()[0].value<QMediaPlayer::PlaybackState>(), QMediaPlayer::StoppedState); + QTRY_VERIFY(positionSpy.count() > 0); QCOMPARE(player.position(), 0); QCOMPARE(positionSpy.last()[0].value<qint64>(), 0); @@ -463,9 +467,12 @@ void tst_QMediaPlayerBackend::playPauseStop() player.setSource(QUrl()); QTRY_COMPARE(player.mediaStatus(), QMediaPlayer::NoMedia); + QTRY_VERIFY(statusSpy.count() > 0); QCOMPARE(statusSpy.last()[0].value<QMediaPlayer::MediaStatus>(), QMediaPlayer::NoMedia); QCOMPARE(player.playbackState(), QMediaPlayer::StoppedState); + QTRY_VERIFY(stateSpy.count() > 0); QCOMPARE(stateSpy.last()[0].value<QMediaPlayer::PlaybackState>(), QMediaPlayer::StoppedState); + QTRY_VERIFY(positionSpy.count() > 0); QCOMPARE(player.position(), 0); QCOMPARE(positionSpy.last()[0].value<qint64>(), 0); QCOMPARE(player.duration(), 0); |