summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.cpp37
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.h2
2 files changed, 31 insertions, 8 deletions
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
index 47ff9d70bb..0dd219bafc 100644
--- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
@@ -1686,7 +1686,7 @@ void tst_QScriptValue::isDate()
QCOMPARE(value.isDate(), date);
}
-void tst_QScriptValue::isError()
+void tst_QScriptValue::isError_propertiesOfGlobalObject()
{
QStringList errors;
errors << "Error"
@@ -1702,13 +1702,34 @@ void tst_QScriptValue::isError()
QVERIFY(ctor.isFunction());
QVERIFY(ctor.property("prototype").isError());
}
- QVERIFY(!eng.globalObject().isError());
- QVERIFY(!QScriptValue().isError());
- QVERIFY(!QScriptValue(123).isError());
- QVERIFY(!QScriptValue(false).isError());
- QVERIFY(!eng.nullValue().isError());
- QVERIFY(!eng.undefinedValue().isError());
- QVERIFY(!eng.evaluate("new Object()").isError());
+}
+
+void tst_QScriptValue::isError_data()
+{
+ newEngine();
+
+ QTest::addColumn<QScriptValue>("value");
+ QTest::addColumn<bool>("error");
+
+ QTest::newRow("syntax error") << engine->evaluate("%fsdg's") << true;
+ QTest::newRow("[]") << engine->evaluate("[]") << false;
+ QTest::newRow("{}") << engine->evaluate("{}") << false;
+ QTest::newRow("globalObject") << engine->globalObject() << false;
+ QTest::newRow("invalid") << QScriptValue() << false;
+ QTest::newRow("number") << QScriptValue(123) << false;
+ QTest::newRow("bool") << QScriptValue(false) << false;
+ QTest::newRow("null") << engine->nullValue() << false;
+ QTest::newRow("undefined") << engine->undefinedValue() << false;
+ QTest::newRow("newObject") << engine->newObject() << false;
+ QTest::newRow("new Object") << engine->evaluate("new Object()") << false;
+}
+
+void tst_QScriptValue::isError()
+{
+ QFETCH(QScriptValue, value);
+ QFETCH(bool, error);
+
+ QCOMPARE(value.isError(), error);
}
void tst_QScriptValue::isRegExp_data()
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h
index 300ce61b78..b6274f49c7 100644
--- a/tests/auto/qscriptvalue/tst_qscriptvalue.h
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h
@@ -99,6 +99,8 @@ private slots:
void isArray();
void isDate();
void isDate_data();
+ void isError_propertiesOfGlobalObject();
+ void isError_data();
void isError();
void isRegExp_data();
void isRegExp();