summaryrefslogtreecommitdiffstats
path: root/tests/auto
diff options
context:
space:
mode:
authorMichael Goddard <michael.goddard@nokia.com>2012-01-23 11:52:42 +1000
committerQt by Nokia <qt-info@nokia.com>2012-01-23 07:30:16 +0100
commit01e7cb99500790861aeba8fc1a9ff7f4355aaace (patch)
tree32bf06c55e4152ded134fed2acd78d33ec508887 /tests/auto
parent7d826e38e70f763541ccceaabef4574d02fe9c5b (diff)
Implement QAudioDeviceInfo operator==/!=
Compares some of the useful parts, but perhaps should be made more tolerant. Also refactored the auto test to properly skip if there are no (output) devices, rather than manually skip. Task-number: QTBUG-13723 Change-Id: I3b83f87a440a83f4237fa119a23009bc99e7626a Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com> Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
Diffstat (limited to 'tests/auto')
-rw-r--r--tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp197
1 files changed, 90 insertions, 107 deletions
diff --git a/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp b/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
index ccb0c19e1..3b7ad33c3 100644
--- a/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
+++ b/tests/auto/integration/qaudiodeviceinfo/tst_qaudiodeviceinfo.cpp
@@ -59,7 +59,6 @@ private slots:
void initTestCase();
void checkAvailableDefaultInput();
void checkAvailableDefaultOutput();
- void outputList();
void codecs();
void channels();
void sampleSizes();
@@ -74,9 +73,9 @@ private slots:
void assignOperator();
void deviceName();
void defaultConstructor();
+ void equalityOperator();
private:
- bool available;
QAudioDeviceInfo* device;
};
@@ -84,158 +83,120 @@ void tst_QAudioDeviceInfo::initTestCase()
{
// Only perform tests if audio output device exists!
QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput);
- if (devices.size() > 0)
- available = true;
- else {
- qWarning()<<"NOTE: no audio output device found, no test will be performed";
- available = false;
+ if (devices.size() == 0) {
+ QSKIP("NOTE: no audio output device found, no tests will be performed");
+ } else {
+ device = new QAudioDeviceInfo(devices.at(0));
}
}
void tst_QAudioDeviceInfo::checkAvailableDefaultInput()
{
// Only perform tests if audio input device exists!
- bool storeAvailable = available;
QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
- if (devices.size() > 0)
- available = true;
- else {
- qWarning()<<"NOTE: no audio input device found, no test will be performed";
- available = false;
- }
- if (available)
+ if (devices.size() > 0) {
QVERIFY(!QAudioDeviceInfo::defaultInputDevice().isNull());
- available = storeAvailable;
+ }
}
void tst_QAudioDeviceInfo::checkAvailableDefaultOutput()
{
- if (available)
- QVERIFY(!QAudioDeviceInfo::defaultOutputDevice().isNull());
-}
-
-void tst_QAudioDeviceInfo::outputList()
-{
- if (available) {
- QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput);
- QVERIFY(devices.size() > 0);
- device = new QAudioDeviceInfo(devices.at(0));
- }
+ QVERIFY(!QAudioDeviceInfo::defaultOutputDevice().isNull());
}
void tst_QAudioDeviceInfo::codecs()
{
- if (available) {
- QStringList avail = device->supportedCodecs();
- QVERIFY(avail.size() > 0);
- }
+ QStringList avail = device->supportedCodecs();
+ QVERIFY(avail.size() > 0);
}
void tst_QAudioDeviceInfo::channels()
{
- if (available) {
- QList<int> avail = device->supportedChannels();
- QVERIFY(avail.size() > 0);
- }
+ QList<int> avail = device->supportedChannels();
+ QVERIFY(avail.size() > 0);
}
void tst_QAudioDeviceInfo::sampleSizes()
{
- if (available) {
- QList<int> avail = device->supportedSampleSizes();
- QVERIFY(avail.size() > 0);
- }
+ QList<int> avail = device->supportedSampleSizes();
+ QVERIFY(avail.size() > 0);
}
void tst_QAudioDeviceInfo::byteOrders()
{
- if (available) {
- QList<QAudioFormat::Endian> avail = device->supportedByteOrders();
- QVERIFY(avail.size() > 0);
- }
+ QList<QAudioFormat::Endian> avail = device->supportedByteOrders();
+ QVERIFY(avail.size() > 0);
}
void tst_QAudioDeviceInfo::sampleTypes()
{
- if (available) {
- QList<QAudioFormat::SampleType> avail = device->supportedSampleTypes();
- QVERIFY(avail.size() > 0);
- }
+ QList<QAudioFormat::SampleType> avail = device->supportedSampleTypes();
+ QVERIFY(avail.size() > 0);
}
void tst_QAudioDeviceInfo::frequencies()
{
- if (available) {
- QList<int> avail = device->supportedFrequencies();
- QVERIFY(avail.size() > 0);
- }
+ QList<int> avail = device->supportedFrequencies();
+ QVERIFY(avail.size() > 0);
}
void tst_QAudioDeviceInfo::isFormatSupported()
{
- if (available) {
- QAudioFormat format;
- format.setFrequency(44100);
- format.setChannels(2);
- format.setSampleType(QAudioFormat::SignedInt);
- format.setByteOrder(QAudioFormat::LittleEndian);
- format.setSampleSize(16);
- format.setCodec("audio/pcm");
-
- // Should always be true for these format
- QVERIFY(device->isFormatSupported(format));
- }
+ QAudioFormat format;
+ format.setFrequency(44100);
+ format.setChannels(2);
+ format.setSampleType(QAudioFormat::SignedInt);
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleSize(16);
+ format.setCodec("audio/pcm");
+
+ // Should always be true for these format
+ QVERIFY(device->isFormatSupported(format));
}
void tst_QAudioDeviceInfo::preferred()
{
- if (available) {
- QAudioFormat format = device->preferredFormat();
- QVERIFY(format.isValid());
- }
+ QAudioFormat format = device->preferredFormat();
+ QVERIFY(format.isValid());
+ QVERIFY(device->isFormatSupported(format));
+ QVERIFY(device->nearestFormat(format) == format);
}
// Returns closest QAudioFormat to settings that system audio supports.
void tst_QAudioDeviceInfo::nearest()
{
- if (available) {
- /*
- QAudioFormat format1, format2;
- format1.setFrequency(8000);
- format2 = device->nearestFormat(format1);
- QVERIFY(format2.frequency() == 44100);
- */
- QAudioFormat format;
- format.setFrequency(44100);
- format.setChannels(2);
- format.setSampleType(QAudioFormat::SignedInt);
- format.setByteOrder(QAudioFormat::LittleEndian);
- format.setSampleSize(16);
- format.setCodec("audio/pcm");
-
- QAudioFormat format2 = device->nearestFormat(format);
-
- // This is definitely dependent on platform support (but isFormatSupported tests that above)
- QVERIFY(format2.frequency() == 44100);
- }
+ /*
+ QAudioFormat format1, format2;
+ format1.setFrequency(8000);
+ format2 = device->nearestFormat(format1);
+ QVERIFY(format2.frequency() == 44100);
+ */
+ QAudioFormat format;
+ format.setFrequency(44100);
+ format.setChannels(2);
+ format.setSampleType(QAudioFormat::SignedInt);
+ format.setByteOrder(QAudioFormat::LittleEndian);
+ format.setSampleSize(16);
+ format.setCodec("audio/pcm");
+
+ QAudioFormat format2 = device->nearestFormat(format);
+
+ // This is definitely dependent on platform support (but isFormatSupported tests that above)
+ QVERIFY(format2.frequency() == 44100);
}
// Returns a list of supported channel counts.
void tst_QAudioDeviceInfo::supportedChannelCounts()
{
- if (available) {
- QList<int> avail = device->supportedChannelCounts();
- QVERIFY(avail.size() > 0);
- }
+ QList<int> avail = device->supportedChannelCounts();
+ QVERIFY(avail.size() > 0);
}
// Returns a list of supported sample rates.
void tst_QAudioDeviceInfo::supportedSampleRates()
{
- if (available) {
- QList<int> avail = device->supportedSampleRates();
- QVERIFY(avail.size() > 0);
- }
+ QList<int> avail = device->supportedSampleRates();
+ QVERIFY(avail.size() > 0);
}
// QAudioDeviceInfo's assignOperator method
@@ -245,23 +206,19 @@ void tst_QAudioDeviceInfo::assignOperator()
QVERIFY(dev.deviceName() == NULL);
QVERIFY(dev.isNull() == true);
- if (available) {
- QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput);
- QVERIFY(devices.size() > 0);
- QAudioDeviceInfo dev1(devices.at(0));
- dev = dev1;
- QVERIFY(dev.isNull() == false);
- QVERIFY(dev.deviceName() == dev1.deviceName());
- }
+ QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioOutput);
+ QVERIFY(devices.size() > 0);
+ QAudioDeviceInfo dev1(devices.at(0));
+ dev = dev1;
+ QVERIFY(dev.isNull() == false);
+ QVERIFY(dev.deviceName() == dev1.deviceName());
}
// Returns human readable name of audio device
void tst_QAudioDeviceInfo::deviceName()
{
- if (available) {
- QVERIFY(device->deviceName() != NULL);
- QVERIFY(device->deviceName() == QAudioDeviceInfo::availableDevices(QAudio::AudioOutput).at(0).deviceName());
- }
+ QVERIFY(device->deviceName() != NULL);
+ QVERIFY(device->deviceName() == QAudioDeviceInfo::availableDevices(QAudio::AudioOutput).at(0).deviceName());
}
// QAudioDeviceInfo's defaultConstructor method
@@ -272,6 +229,32 @@ void tst_QAudioDeviceInfo::defaultConstructor()
QVERIFY(dev.deviceName() == NULL);
}
+void tst_QAudioDeviceInfo::equalityOperator()
+{
+ // Get some default device infos
+ QAudioDeviceInfo dev1;
+ QAudioDeviceInfo dev2;
+
+ QVERIFY(dev1 == dev2);
+ QVERIFY(!(dev1 != dev2));
+
+ // Make sure each available device is not equal to null
+ foreach (const QAudioDeviceInfo info, QAudioDeviceInfo::availableDevices(QAudio::AudioOutput)) {
+ QVERIFY(dev1 != info);
+ QVERIFY(!(dev1 == info));
+
+ dev2 = info;
+
+ QVERIFY(dev2 == info);
+ QVERIFY(!(dev2 != info));
+
+ QVERIFY(dev1 != dev2);
+ QVERIFY(!(dev1 == dev2));
+ }
+
+ // XXX Perhaps each available device should not be equal to any other
+}
+
QTEST_MAIN(tst_QAudioDeviceInfo)
#include "tst_qaudiodeviceinfo.moc"