Add test for jump strict-not-equal undefined on 32bit

Commit 86702c3be5 and
e2218f8b5c were submitted directly to the
5.9 and 5.6 branches. As the problem does not exist per-se in 5.11 there
is no fix required. This commit only adds the test coverage for this
issue to avoid regressing.

Change-Id: Ic5f5d56f52f3855d20755f771804025f8a93acd9
Task-number: QTBUG-66832
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
This commit is contained in:
Erik Verbruggen 2018-03-09 13:04:53 +01:00 committed by Simon Hausmann
parent 106631254f
commit 9a2cfd5155
1 changed files with 21 additions and 0 deletions

View File

@ -351,6 +351,7 @@ private slots:
void shadowedFunctionName();
void anotherNaN();
void callPropertyOnUndefined();
void jumpStrictNotEqualUndefined();
private:
// static void propertyVarWeakRefCallback(v8::Persistent<v8::Value> object, void* parameter);
@ -8479,6 +8480,26 @@ void tst_qqmlecmascript::callPropertyOnUndefined()
QVERIFY(!v.isError()); // well, more importantly: this shouldn't fail on an assert.
}
void tst_qqmlecmascript::jumpStrictNotEqualUndefined()
{
QJSEngine engine;
QJSValue v = engine.evaluate(QString::fromLatin1(
"var ok = 0\n"
"var foo = 0\n"
"if (foo !== void 1)\n"
" ++ok;\n"
"else\n"
" --ok;\n"
"if (foo === void 1)\n"
" --ok;\n"
"else\n"
" ++ok;\n"
"ok\n"
));
QVERIFY(!v.isError());
QCOMPARE(v.toInt(), 2);
}
QTEST_MAIN(tst_qqmlecmascript)
#include "tst_qqmlecmascript.moc"