summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorWater-Team <water@pad.test.qt.nokia.com>2011-08-18 23:00:15 (GMT)
committerWater-Team <water@pad.test.qt.nokia.com>2011-08-18 23:00:15 (GMT)
commit607b7d39c32e5d1f334f7af91ad626c7acb5e460 (patch)
tree61f9e5820ef06c436037b7957e36b4e3af84ae17 /tests
parente58a402fbee2fc8af8cd651acafdc28525ed1314 (diff)
parente2abcf0d8e83a9403c57b1504a663310e888e2dd (diff)
downloadQt-607b7d39c32e5d1f334f7af91ad626c7acb5e460.zip
Qt-607b7d39c32e5d1f334f7af91ad626c7acb5e460.tar.gz
Qt-607b7d39c32e5d1f334f7af91ad626c7acb5e460.tar.bz2
Merge branch '4.8-upstream' into master-water
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/qaudioinput/tst_qaudioinput.cpp133
-rw-r--r--tests/auto/qdialog/tst_qdialog.cpp16
-rw-r--r--tests/auto/qfiledialog/tst_qfiledialog.cpp2
-rw-r--r--tests/auto/qlineedit/tst_qlineedit.cpp7
4 files changed, 95 insertions, 63 deletions
diff --git a/tests/auto/qaudioinput/tst_qaudioinput.cpp b/tests/auto/qaudioinput/tst_qaudioinput.cpp
index 6025bdb..0004c42 100644
--- a/tests/auto/qaudioinput/tst_qaudioinput.cpp
+++ b/tests/auto/qaudioinput/tst_qaudioinput.cpp
@@ -86,14 +86,14 @@ void tst_QAudioInput::initTestCase()
// Only perform tests if audio input device exists!
QList<QAudioDeviceInfo> devices = QAudioDeviceInfo::availableDevices(QAudio::AudioInput);
- if(devices.size() > 0)
+ if (devices.size() > 0)
available = true;
else {
qWarning()<<"NOTE: no audio input device found, no test will be performed";
available = false;
}
- if(available)
+ if (available)
audio = new QAudioInput(format, this);
}
@@ -124,6 +124,9 @@ void tst_QAudioInput::invalidFormat_data()
void tst_QAudioInput::invalidFormat()
{
+ if (!available)
+ QSKIP("No audio input device found, no test will be performed", SkipAll);
+
QFETCH(QAudioFormat, invalidFormat);
QAudioInput audioInput(invalidFormat, this);
@@ -140,81 +143,85 @@ void tst_QAudioInput::invalidFormat()
void tst_QAudioInput::settings()
{
- if(available) {
- // Confirm the setting we added in the init function.
- QAudioFormat f = audio->format();
-
- QVERIFY(format.channels() == f.channels());
- QVERIFY(format.frequency() == f.frequency());
- QVERIFY(format.sampleSize() == f.sampleSize());
- QVERIFY(format.codec() == f.codec());
- QVERIFY(format.byteOrder() == f.byteOrder());
- QVERIFY(format.sampleType() == f.sampleType());
- }
+ if (!available)
+ QSKIP("No audio input device found, no test will be performed", SkipAll);
+
+ // Confirm the setting we added in the init function.
+ QAudioFormat f = audio->format();
+
+ QVERIFY(format.channels() == f.channels());
+ QVERIFY(format.frequency() == f.frequency());
+ QVERIFY(format.sampleSize() == f.sampleSize());
+ QVERIFY(format.codec() == f.codec());
+ QVERIFY(format.byteOrder() == f.byteOrder());
+ QVERIFY(format.sampleType() == f.sampleType());
}
void tst_QAudioInput::buffers()
{
- if(available) {
- // Should always have a buffer size greater than zero.
- int store = audio->bufferSize();
- audio->setBufferSize(4096);
- QVERIFY(audio->bufferSize() > 0);
- audio->setBufferSize(store);
- QVERIFY(audio->bufferSize() == store);
- }
+ if (!available)
+ QSKIP("No audio input device found, no test will be performed", SkipAll);
+
+ // Should always have a buffer size greater than zero.
+ int store = audio->bufferSize();
+ audio->setBufferSize(4096);
+ QVERIFY(audio->bufferSize() > 0);
+ audio->setBufferSize(store);
+ QVERIFY(audio->bufferSize() == store);
}
void tst_QAudioInput::notifyInterval()
{
- if(available) {
- QVERIFY(audio->notifyInterval() == 1000); // Default
+ if (!available)
+ QSKIP("No audio input device found, no test will be performed", SkipAll);
- audio->setNotifyInterval(500);
- QVERIFY(audio->notifyInterval() == 500); // Custom
+ QVERIFY(audio->notifyInterval() == 1000); // Default
- audio->setNotifyInterval(1000); // reset
- }
+ audio->setNotifyInterval(500);
+ QVERIFY(audio->notifyInterval() == 500); // Custom
+
+ audio->setNotifyInterval(1000); // reset
}
void tst_QAudioInput::pullFile()
{
- if(available) {
- QFile filename(SRCDIR"test.raw");
- filename.open( QIODevice::WriteOnly | QIODevice::Truncate );
-
- QSignalSpy readSignal(audio, SIGNAL(notify()));
- QSignalSpy stateSignal(audio, SIGNAL(stateChanged(QAudio::State)));
-
- // Always have default states, before start
- QVERIFY(audio->state() == QAudio::StoppedState);
- QVERIFY(audio->error() == QAudio::NoError);
- QVERIFY(audio->elapsedUSecs() == 0);
-
- audio->start(&filename);
- QTest::qWait(20);
- // Check state and periodSize() are valid non-zero values.
- QVERIFY(audio->state() == QAudio::ActiveState);
- QVERIFY(audio->error() == QAudio::NoError);
- QVERIFY(audio->elapsedUSecs() > 10000 && audio->elapsedUSecs() < 800000);
- QVERIFY(audio->periodSize() > 0);
- QVERIFY(stateSignal.count() == 1); // State changed to QAudio::ActiveState
-
- // Wait until finished...
- QTest::qWait(5000);
-
- QVERIFY(readSignal.count() > 0);
- QVERIFY(audio->processedUSecs() > 0);
-
- audio->stop();
- QTest::qWait(20);
- QVERIFY(audio->state() == QAudio::StoppedState);
- QVERIFY(audio->elapsedUSecs() == 0);
- // Can only check to make sure we got at least 1 more signal, but can be more.
- QVERIFY(stateSignal.count() > 1);
-
- filename.close();
- }
+ if (!available)
+ QSKIP("No audio input device found, no test will be performed", SkipAll);
+
+ QFile filename(SRCDIR"test.raw");
+ filename.open( QIODevice::WriteOnly | QIODevice::Truncate );
+
+ QSignalSpy readSignal(audio, SIGNAL(notify()));
+ QSignalSpy stateSignal(audio, SIGNAL(stateChanged(QAudio::State)));
+
+ // Always have default states, before start
+ QVERIFY(audio->state() == QAudio::StoppedState);
+ QVERIFY(audio->error() == QAudio::NoError);
+ QVERIFY(audio->elapsedUSecs() == 0);
+
+ audio->start(&filename);
+ QTest::qWait(20);
+ // Check state and periodSize() are valid non-zero values.
+ QVERIFY(audio->state() == QAudio::ActiveState);
+ QVERIFY(audio->error() == QAudio::NoError);
+ QVERIFY(audio->elapsedUSecs() > 10000 && audio->elapsedUSecs() < 800000);
+ QVERIFY(audio->periodSize() > 0);
+ QVERIFY(stateSignal.count() == 1); // State changed to QAudio::ActiveState
+
+ // Wait until finished...
+ QTest::qWait(5000);
+
+ QVERIFY(readSignal.count() > 0);
+ QVERIFY(audio->processedUSecs() > 0);
+
+ audio->stop();
+ QTest::qWait(20);
+ QVERIFY(audio->state() == QAudio::StoppedState);
+ QVERIFY(audio->elapsedUSecs() == 0);
+ // Can only check to make sure we got at least 1 more signal, but can be more.
+ QVERIFY(stateSignal.count() > 1);
+
+ filename.close();
}
QTEST_MAIN(tst_QAudioInput)
diff --git a/tests/auto/qdialog/tst_qdialog.cpp b/tests/auto/qdialog/tst_qdialog.cpp
index 6d9f798..86dde21 100644
--- a/tests/auto/qdialog/tst_qdialog.cpp
+++ b/tests/auto/qdialog/tst_qdialog.cpp
@@ -467,6 +467,22 @@ void tst_QDialog::throwInExec()
#if defined(Q_WS_MAC) || (defined(Q_WS_WINCE) && defined(_ARM_))
QSKIP("Throwing exceptions in exec() is not supported on this platform.", SkipAll);
#endif
+
+#if defined(Q_OS_LINUX)
+ // C++ exceptions can't be passed through glib callbacks. Skip the test if
+ // we're using the glib event loop.
+ QByteArray dispatcher = QAbstractEventDispatcher::instance()->metaObject()->className();
+ if (dispatcher.contains("Glib")) {
+ QSKIP(
+ qPrintable(QString(
+ "Throwing exceptions in exec() won't work if %1 event dispatcher is used.\n"
+ "Try running with QT_NO_GLIB=1 in environment."
+ ).arg(QString::fromLatin1(dispatcher))),
+ SkipAll
+ );
+ }
+#endif
+
int caughtExceptions = 0;
try {
ExceptionDialog dialog;
diff --git a/tests/auto/qfiledialog/tst_qfiledialog.cpp b/tests/auto/qfiledialog/tst_qfiledialog.cpp
index 08d2e88..81da8a3 100644
--- a/tests/auto/qfiledialog/tst_qfiledialog.cpp
+++ b/tests/auto/qfiledialog/tst_qfiledialog.cpp
@@ -80,7 +80,9 @@
# define SRCDIR "C:/Private/" TOSTRING(SYMBIAN_SRCDIR_UID) "/"
#elif defined(Q_OS_UNIX)
#ifdef QT_BUILD_INTERNAL
+QT_BEGIN_NAMESPACE
extern Q_GUI_EXPORT QString qt_tildeExpansion(const QString &path, bool *expanded = 0);
+QT_END_NAMESPACE
#endif
#endif
diff --git a/tests/auto/qlineedit/tst_qlineedit.cpp b/tests/auto/qlineedit/tst_qlineedit.cpp
index 6abbdcd..2c88561 100644
--- a/tests/auto/qlineedit/tst_qlineedit.cpp
+++ b/tests/auto/qlineedit/tst_qlineedit.cpp
@@ -1770,6 +1770,13 @@ void tst_QLineEdit::passwordEchoDelay()
QApplication::sendEvent(testWidget, &ev);
QCOMPARE(testWidget->displayText(), QString(7, fillChar) + QLatin1Char('7'));
+ testWidget->setCursorPosition(3);
+ QCOMPARE(testWidget->displayText(), QString(7, fillChar) + QLatin1Char('7'));
+ QTest::keyPress(testWidget, 'a');
+ QCOMPARE(testWidget->displayText(), QString(3, fillChar) + QLatin1Char('a') + QString(5, fillChar));
+ QTest::keyPress(testWidget, Qt::Key_Backspace);
+ QCOMPARE(testWidget->displayText(), QString(8, fillChar));
+
// restore clean state
testWidget->setEchoMode(QLineEdit::Normal);
}