diff options
author | Angus Cummings <angus.cummings@nokia.com> | 2012-04-12 14:44:28 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-04-14 06:57:33 +0200 |
commit | e24f4fed534dfee0dc3f31be0a70f9348c73be19 (patch) | |
tree | fa9d298af7742ae0d1324e5bdaccc4cdf541bac4 /tests/auto/unit/qaudiodecoder | |
parent | 02efdccae982452a101ea0c703d308ab8189e9fb (diff) |
expanding unit test for QAudioDecoder
Looking for feedback concerning:
implementation of the change
desired functionality of QAudioDecoder
Changed the behaviour of QAudioDecoder for
more sane error output
Change-Id: I82193a94b6fe1ef4202a4ac7bd95c607e0bee9c6
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'tests/auto/unit/qaudiodecoder')
-rw-r--r-- | tests/auto/unit/qaudiodecoder/tst_qaudiodecoder.cpp | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/tests/auto/unit/qaudiodecoder/tst_qaudiodecoder.cpp b/tests/auto/unit/qaudiodecoder/tst_qaudiodecoder.cpp index 43c51e35c..e124710c4 100644 --- a/tests/auto/unit/qaudiodecoder/tst_qaudiodecoder.cpp +++ b/tests/auto/unit/qaudiodecoder/tst_qaudiodecoder.cpp @@ -62,6 +62,8 @@ private Q_SLOTS: void format(); void source(); void readAll(); + void nullControl(); + void nullService(); private: MockAudioDecoderService *mockAudioDecoderService; @@ -338,6 +340,87 @@ void tst_QAudioDecoder::readAll() } } +void tst_QAudioDecoder::nullControl() +{ + mockAudioDecoderService->setControlNull(); + QAudioDecoder d; + + QVERIFY(d.error() == QAudioDecoder::ServiceMissingError); + QVERIFY(!d.errorString().isEmpty()); + + QVERIFY(d.hasSupport("MIME") == QtMultimedia::MaybeSupported); + + QVERIFY(d.state() == QAudioDecoder::StoppedState); + + QVERIFY(d.sourceFilename().isEmpty()); + d.setSourceFilename("test"); + QVERIFY(d.sourceFilename().isEmpty()); + + QFile f; + QVERIFY(d.sourceDevice() == 0); + d.setSourceDevice(&f); + QVERIFY(d.sourceDevice() == 0); + + QAudioFormat format; + format.setChannels(2); + QVERIFY(!d.audioFormat().isValid()); + d.setAudioFormat(format); + QVERIFY(!d.audioFormat().isValid()); + + QVERIFY(!d.read().isValid()); + QVERIFY(!d.bufferAvailable()); + + QVERIFY(d.position() == -1); + QVERIFY(d.duration() == -1); + + d.start(); + QVERIFY(d.error() == QAudioDecoder::ServiceMissingError); + QVERIFY(!d.errorString().isEmpty()); + QVERIFY(d.state() == QAudioDecoder::StoppedState); + d.stop(); +} + + +void tst_QAudioDecoder::nullService() +{ + mockProvider->service = 0; + QAudioDecoder d; + + QVERIFY(d.error() == QAudioDecoder::ServiceMissingError); + QVERIFY(!d.errorString().isEmpty()); + + QVERIFY(d.hasSupport("MIME") == QtMultimedia::MaybeSupported); + + QVERIFY(d.state() == QAudioDecoder::StoppedState); + + QVERIFY(d.sourceFilename().isEmpty()); + d.setSourceFilename("test"); + QVERIFY(d.sourceFilename().isEmpty()); + + QFile f; + QVERIFY(d.sourceDevice() == 0); + d.setSourceDevice(&f); + QVERIFY(d.sourceDevice() == 0); + + QAudioFormat format; + format.setChannels(2); + QVERIFY(!d.audioFormat().isValid()); + d.setAudioFormat(format); + QVERIFY(!d.audioFormat().isValid()); + + QVERIFY(!d.read().isValid()); + QVERIFY(!d.bufferAvailable()); + + QVERIFY(d.position() == -1); + QVERIFY(d.duration() == -1); + + d.start(); + QVERIFY(d.error() == QAudioDecoder::ServiceMissingError); + QVERIFY(!d.errorString().isEmpty()); + QVERIFY(d.state() == QAudioDecoder::StoppedState); + d.stop(); +} + QTEST_MAIN(tst_QAudioDecoder) #include "tst_qaudiodecoder.moc" |