summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp48
-rw-r--r--tests/auto/corelib/io/qprocess/tst_qprocess.cpp20
-rw-r--r--tests/auto/corelib/tools/qeasingcurve/qeasingcurve.pro1
-rw-r--r--tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp3
4 files changed, 72 insertions, 0 deletions
diff --git a/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp b/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
index 616fe33309..6329160998 100644
--- a/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
+++ b/tests/auto/corelib/codecs/qtextcodec/tst_qtextcodec.cpp
@@ -102,6 +102,7 @@ private slots:
void moreToFromUnicode();
void shiftJis();
+ void userCodec();
};
void tst_QTextCodec::toUnicode_data()
@@ -2312,6 +2313,53 @@ void tst_QTextCodec::shiftJis()
QCOMPARE(encoded, backslashTilde);
}
+struct UserCodec : public QTextCodec
+{
+ // implement pure virtuals
+ QByteArray name() const Q_DECL_OVERRIDE
+ { return "UserCodec"; }
+ QList<QByteArray> aliases() const Q_DECL_OVERRIDE
+ { return QList<QByteArray>() << "usercodec" << "user-codec"; }
+ int mibEnum() const Q_DECL_OVERRIDE
+ { return 5000; }
+
+ virtual QString convertToUnicode(const char *, int, ConverterState *) const Q_DECL_OVERRIDE
+ { return QString(); }
+ virtual QByteArray convertFromUnicode(const QChar *, int, ConverterState *) const Q_DECL_OVERRIDE
+ { return QByteArray(); }
+};
+
+void tst_QTextCodec::userCodec()
+{
+ // check that it isn't there
+ static bool executedOnce = false;
+ if (executedOnce)
+ QSKIP("Test already executed once");
+
+ QVERIFY(!QTextCodec::availableCodecs().contains("UserCodec"));
+ QVERIFY(!QTextCodec::codecForName("UserCodec"));
+
+ QTextCodec *codec = new UserCodec;
+ executedOnce = true;
+
+ QList<QByteArray> availableCodecs = QTextCodec::availableCodecs();
+ QVERIFY(availableCodecs.contains("UserCodec"));
+ QVERIFY(availableCodecs.contains("usercodec"));
+ QVERIFY(availableCodecs.contains("user-codec"));
+
+ QTextCodec *pcodec = QTextCodec::codecForName("UserCodec");
+ QCOMPARE(pcodec, codec);
+
+ pcodec = QTextCodec::codecForName("user-codec");
+ QCOMPARE(pcodec, codec);
+
+ pcodec = QTextCodec::codecForName("User-Codec");
+ QCOMPARE(pcodec, codec);
+
+ pcodec = QTextCodec::codecForMib(5000);
+ QCOMPARE(pcodec, codec);
+}
+
struct DontCrashAtExit {
~DontCrashAtExit() {
QTextCodec *c = QTextCodec::codecForName("utf8");
diff --git a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
index 3862553a4b..f2759dfd6e 100644
--- a/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
+++ b/tests/auto/corelib/io/qprocess/tst_qprocess.cpp
@@ -82,6 +82,7 @@ private slots:
void constructing();
void simpleStart();
void startWithOpen();
+ void startWithOldOpen();
void execute();
void startDetached();
void crashTest();
@@ -297,6 +298,25 @@ void tst_QProcess::startWithOpen()
}
//-----------------------------------------------------------------------------
+void tst_QProcess::startWithOldOpen()
+{
+ // similar to the above, but we start with start() actually
+ // while open() is overridden to call QIODevice::open().
+ // This tests the BC requirement that "it works with the old implementation"
+ class OverriddenOpen : public QProcess
+ {
+ public:
+ virtual bool open(OpenMode mode) Q_DECL_OVERRIDE
+ { return QIODevice::open(mode); }
+ };
+
+ OverriddenOpen p;
+ p.start("testProcessNormal/testProcessNormal");
+ QVERIFY(p.waitForStarted(5000));
+ QVERIFY(p.waitForFinished(5000));
+}
+
+//-----------------------------------------------------------------------------
void tst_QProcess::execute()
{
QCOMPARE(QProcess::execute("testProcessNormal/testProcessNormal",
diff --git a/tests/auto/corelib/tools/qeasingcurve/qeasingcurve.pro b/tests/auto/corelib/tools/qeasingcurve/qeasingcurve.pro
index 679f9bbda4..bec6c1e17e 100644
--- a/tests/auto/corelib/tools/qeasingcurve/qeasingcurve.pro
+++ b/tests/auto/corelib/tools/qeasingcurve/qeasingcurve.pro
@@ -3,3 +3,4 @@ TARGET = tst_qeasingcurve
QT = core testlib
SOURCES = tst_qeasingcurve.cpp
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
+linux-*:system(". /etc/lsb-release && [ $DISTRIB_CODENAME = oneiric ]"):DEFINES+=UBUNTU_ONEIRIC # QTBUG-32432
diff --git a/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp b/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
index 2099d978c0..fa747b3c18 100644
--- a/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
+++ b/tests/auto/corelib/tools/qeasingcurve/tst_qeasingcurve.cpp
@@ -434,6 +434,9 @@ void tst_QEasingCurve::setCustomType()
QCOMPARE(curve.valueForProgress(0.15), 0.1);
QCOMPARE(curve.valueForProgress(0.20), 0.2);
QCOMPARE(curve.valueForProgress(0.25), 0.2);
+#if defined(UBUNTU_ONEIRIC) && defined(__i386__)
+ QEXPECT_FAIL("", "QTBUG-32432: Fails on Ubuntu 11.10 32 bit configurations", Abort);
+#endif
QCOMPARE(curve.valueForProgress(0.30), 0.3);
QCOMPARE(curve.valueForProgress(0.35), 0.3);
QCOMPARE(curve.valueForProgress(0.999999), 0.9);