diff options
author | Steve Block <steveblock@google.com> | 2011-05-06 11:45:16 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-05-12 13:44:10 +0100 |
commit | cad810f21b803229eb11403f9209855525a25d57 (patch) | |
tree | 29a6fd0279be608e0fe9ffe9841f722f0f4e4269 /JavaScriptCore/qt/tests | |
parent | 121b0cf4517156d0ac5111caf9830c51b69bae8f (diff) | |
download | external_webkit-cad810f21b803229eb11403f9209855525a25d57.zip external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.gz external_webkit-cad810f21b803229eb11403f9209855525a25d57.tar.bz2 |
Merge WebKit at r75315: Initial merge by git.
Change-Id: I570314b346ce101c935ed22a626b48c2af266b84
Diffstat (limited to 'JavaScriptCore/qt/tests')
15 files changed, 0 insertions, 7316 deletions
diff --git a/JavaScriptCore/qt/tests/qscriptengine/qscriptengine.pro b/JavaScriptCore/qt/tests/qscriptengine/qscriptengine.pro deleted file mode 100644 index d521dd8..0000000 --- a/JavaScriptCore/qt/tests/qscriptengine/qscriptengine.pro +++ /dev/null @@ -1,8 +0,0 @@ -TEMPLATE = app -TARGET = tst_qscriptengine -QT += testlib -isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../.. -include(../tests.pri) - -SOURCES += tst_qscriptengine.cpp - diff --git a/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp b/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp deleted file mode 100644 index dabcfb2..0000000 --- a/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp +++ /dev/null @@ -1,734 +0,0 @@ -/* - Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include "qscriptengine.h" -#include "qscriptprogram.h" -#include "qscriptsyntaxcheckresult.h" -#include "qscriptvalue.h" -#include <QtCore/qnumeric.h> -#include <QtTest/qtest.h> - -class tst_QScriptEngine : public QObject { - Q_OBJECT - -public: - tst_QScriptEngine() {} - virtual ~tst_QScriptEngine() {} - -public slots: - void init() {} - void cleanup() {} - -private slots: - void newFunction(); - void newObject(); - void globalObject(); - void evaluate(); - void collectGarbage(); - void reportAdditionalMemoryCost(); - void nullValue(); - void undefinedValue(); - void evaluateProgram(); - void checkSyntax_data(); - void checkSyntax(); - void toObject(); - void toObjectTwoEngines(); - void newArray(); - void uncaughtException(); - void newDate(); -}; - -/* Evaluating a script that throw an unhandled exception should return an invalid value. */ -void tst_QScriptEngine::evaluate() -{ - QScriptEngine engine; - QVERIFY2(engine.evaluate("1+1").isValid(), "the expression should be evaluated and an valid result should be returned"); - QVERIFY2(engine.evaluate("ping").isValid(), "Script throwing an unhandled exception should return an exception value"); -} - -static QScriptValue myFunction(QScriptContext*, QScriptEngine* eng) -{ - return eng->nullValue(); -} - -static QScriptValue myFunctionWithArg(QScriptContext*, QScriptEngine* eng, void* arg) -{ - int* result = reinterpret_cast<int*>(arg); - return QScriptValue(eng, *result); -} - -static QScriptValue myFunctionThatReturns(QScriptContext*, QScriptEngine* eng) -{ - return QScriptValue(eng, 42); -} - -static QScriptValue myFunctionThatReturnsWithoutEngine(QScriptContext*, QScriptEngine*) -{ - return QScriptValue(1024); -} - -static QScriptValue myFunctionThatReturnsWrongEngine(QScriptContext*, QScriptEngine*, void* arg) -{ - QScriptEngine* wrongEngine = reinterpret_cast<QScriptEngine*>(arg); - return QScriptValue(wrongEngine, 42); -} - -void tst_QScriptEngine::newFunction() -{ - QScriptEngine eng; - { - QScriptValue fun = eng.newFunction(myFunction); - QCOMPARE(fun.isValid(), true); - QCOMPARE(fun.isFunction(), true); - QCOMPARE(fun.isObject(), true); - // QCOMPARE(fun.scriptClass(), (QScriptClass*)0); - // a prototype property is automatically constructed - { - QScriptValue prot = fun.property("prototype", QScriptValue::ResolveLocal); - QVERIFY(prot.isObject()); - QVERIFY(prot.property("constructor").strictlyEquals(fun)); - QEXPECT_FAIL("", "JSCallbackObject::getOwnPropertyDescriptor() doesn't return correct information yet", Continue); - QCOMPARE(fun.propertyFlags("prototype"), QScriptValue::Undeletable); - QEXPECT_FAIL("", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QCOMPARE(prot.propertyFlags("constructor"), QScriptValue::PropertyFlags(QScriptValue::Undeletable | QScriptValue::SkipInEnumeration)); - } - // prototype should be Function.prototype - QCOMPARE(fun.prototype().isValid(), true); - QCOMPARE(fun.prototype().isFunction(), true); - QCOMPARE(fun.prototype().strictlyEquals(eng.evaluate("Function.prototype")), true); - - QCOMPARE(fun.call().isNull(), true); - // QCOMPARE(fun.construct().isObject(), true); - } - // the overload that takes an extra argument - { - int expectedResult = 42; - QScriptValue fun = eng.newFunction(myFunctionWithArg, reinterpret_cast<void*>(&expectedResult)); - QVERIFY(fun.isFunction()); - // QCOMPARE(fun.scriptClass(), (QScriptClass*)0); - // a prototype property is automatically constructed - { - QScriptValue prot = fun.property("prototype", QScriptValue::ResolveLocal); - QVERIFY(prot.isObject()); - QVERIFY(prot.property("constructor").strictlyEquals(fun)); - QEXPECT_FAIL("", "JSCallbackObject::getOwnPropertyDescriptor() doesn't return correct information yet", Continue); - QCOMPARE(fun.propertyFlags("prototype"), QScriptValue::Undeletable); - QEXPECT_FAIL("", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QCOMPARE(prot.propertyFlags("constructor"), QScriptValue::PropertyFlags(QScriptValue::Undeletable | QScriptValue::SkipInEnumeration)); - } - // prototype should be Function.prototype - QCOMPARE(fun.prototype().isValid(), true); - QCOMPARE(fun.prototype().isFunction(), true); - QCOMPARE(fun.prototype().strictlyEquals(eng.evaluate("Function.prototype")), true); - - QScriptValue result = fun.call(); - QCOMPARE(result.isNumber(), true); - QCOMPARE(result.toInt32(), expectedResult); - } - // the overload that takes a prototype - { - QScriptValue proto = eng.newObject(); - QScriptValue fun = eng.newFunction(myFunction, proto); - QCOMPARE(fun.isValid(), true); - QCOMPARE(fun.isFunction(), true); - QCOMPARE(fun.isObject(), true); - // internal prototype should be Function.prototype - QCOMPARE(fun.prototype().isValid(), true); - QCOMPARE(fun.prototype().isFunction(), true); - QCOMPARE(fun.prototype().strictlyEquals(eng.evaluate("Function.prototype")), true); - // public prototype should be the one we passed - QCOMPARE(fun.property("prototype").strictlyEquals(proto), true); - QEXPECT_FAIL("", "JSCallbackObject::getOwnPropertyDescriptor() doesn't return correct information yet", Continue); - QCOMPARE(fun.propertyFlags("prototype"), QScriptValue::Undeletable); - QCOMPARE(proto.property("constructor").strictlyEquals(fun), true); - QEXPECT_FAIL("", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QCOMPARE(proto.propertyFlags("constructor"), QScriptValue::PropertyFlags(QScriptValue::Undeletable | QScriptValue::SkipInEnumeration)); - - QCOMPARE(fun.call().isNull(), true); - // QCOMPARE(fun.construct().isObject(), true); - } - // whether the return value is correct - { - QScriptValue fun = eng.newFunction(myFunctionThatReturns); - QCOMPARE(fun.isValid(), true); - QCOMPARE(fun.isFunction(), true); - QCOMPARE(fun.isObject(), true); - - QScriptValue result = fun.call(); - QCOMPARE(result.isNumber(), true); - QCOMPARE(result.toInt32(), 42); - } - // whether the return value is assigned to the correct engine - { - QScriptValue fun = eng.newFunction(myFunctionThatReturnsWithoutEngine); - QCOMPARE(fun.isValid(), true); - QCOMPARE(fun.isFunction(), true); - QCOMPARE(fun.isObject(), true); - - QScriptValue result = fun.call(); - QCOMPARE(result.engine(), &eng); - QCOMPARE(result.isNumber(), true); - QCOMPARE(result.toInt32(), 1024); - } - // whether the return value is undefined when returning a value with wrong engine - { - QScriptEngine wrongEngine; - - QScriptValue fun = eng.newFunction(myFunctionThatReturnsWrongEngine, reinterpret_cast<void*>(&wrongEngine)); - QCOMPARE(fun.isValid(), true); - QCOMPARE(fun.isFunction(), true); - QCOMPARE(fun.isObject(), true); - - QTest::ignoreMessage(QtWarningMsg, "Value from different engine returned from native function, returning undefined value instead."); - QScriptValue result = fun.call(); - QCOMPARE(result.isValid(), true); - QCOMPARE(result.isUndefined(), true); - } -} - -void tst_QScriptEngine::newObject() -{ - QScriptEngine engine; - QScriptValue object = engine.newObject(); - QVERIFY(object.isObject()); - QVERIFY(object.engine() == &engine); - QVERIFY(!object.isError()); - QVERIFY(!object.equals(engine.newObject())); - QVERIFY(!object.strictlyEquals(engine.newObject())); - QCOMPARE(object.toString(), QString::fromAscii("[object Object]")); -} - -void tst_QScriptEngine::globalObject() -{ - QScriptEngine engine; - QScriptValue global = engine.globalObject(); - QScriptValue self = engine.evaluate("this"); - QVERIFY(global.isObject()); - QVERIFY(engine.globalObject().equals(engine.evaluate("this"))); - QVERIFY(engine.globalObject().strictlyEquals(self)); -} - -/* Test garbage collection, at least try to not crash. */ -void tst_QScriptEngine::collectGarbage() -{ - QScriptEngine engine; - QScriptValue foo = engine.evaluate("( function foo() {return 'pong';} )"); - QVERIFY(foo.isFunction()); - engine.collectGarbage(); - QCOMPARE(foo.call().toString(), QString::fromAscii("pong")); -} - -void tst_QScriptEngine::reportAdditionalMemoryCost() -{ - // There isn't any easy way to test the responsiveness of the GC; - // just try to call the function a few times with various sizes. - QScriptEngine eng; - for (int i = 0; i < 100; ++i) { - eng.reportAdditionalMemoryCost(0); - eng.reportAdditionalMemoryCost(10); - eng.reportAdditionalMemoryCost(1000); - eng.reportAdditionalMemoryCost(10000); - eng.reportAdditionalMemoryCost(100000); - eng.reportAdditionalMemoryCost(1000000); - eng.reportAdditionalMemoryCost(10000000); - eng.reportAdditionalMemoryCost(-1); - eng.reportAdditionalMemoryCost(-1000); - QScriptValue obj = eng.evaluate("new Object"); - eng.collectGarbage(); - } -} - -void tst_QScriptEngine::nullValue() -{ - QScriptEngine engine; - QScriptValue value = engine.nullValue(); - QVERIFY(value.isValid()); - QVERIFY(value.isNull()); -} - -void tst_QScriptEngine::undefinedValue() -{ - QScriptEngine engine; - QScriptValue value = engine.undefinedValue(); - QVERIFY(value.isValid()); - QVERIFY(value.isUndefined()); -} - -void tst_QScriptEngine::evaluateProgram() -{ - QScriptEngine eng; - { - QString code("1 + 2"); - QString fileName("hello.js"); - int lineNumber = 123; - QScriptProgram program(code, fileName, lineNumber); - QVERIFY(!program.isNull()); - QCOMPARE(program.sourceCode(), code); - QCOMPARE(program.fileName(), fileName); - QCOMPARE(program.firstLineNumber(), lineNumber); - - QScriptValue expected = eng.evaluate(code); - for (int x = 0; x < 10; ++x) { - QScriptValue ret = eng.evaluate(program); - QVERIFY(ret.equals(expected)); - } - - // operator= - QScriptProgram sameProgram = program; - QVERIFY(sameProgram == program); - QVERIFY(eng.evaluate(sameProgram).equals(expected)); - - // copy constructor - QScriptProgram sameProgram2(program); - QVERIFY(sameProgram2 == program); - QVERIFY(eng.evaluate(sameProgram2).equals(expected)); - - QScriptProgram differentProgram("2 + 3"); - QVERIFY(differentProgram != program); - QVERIFY(!eng.evaluate(differentProgram).equals(expected)); - } - - // Program that accesses variable in the scope - { - QScriptProgram program("a"); - QVERIFY(!program.isNull()); - { - QScriptValue ret = eng.evaluate(program); - QVERIFY(ret.isError()); - QCOMPARE(ret.toString(), QString::fromLatin1("ReferenceError: Can't find variable: a")); - } - { - QScriptValue ret = eng.evaluate(program); - QVERIFY(ret.isError()); - } - eng.evaluate("a = 456"); - { - QScriptValue ret = eng.evaluate(program); - QVERIFY(!ret.isError()); - QCOMPARE(ret.toNumber(), 456.0); - } - } - - // Program that creates closure - { - QScriptProgram program("(function() { var count = 0; return function() { return count++; }; })"); - QVERIFY(!program.isNull()); - QScriptValue createCounter = eng.evaluate(program); - QVERIFY(createCounter.isFunction()); - QScriptValue counter = createCounter.call(); - QVERIFY(counter.isFunction()); - { - QScriptValue ret = counter.call(); - QVERIFY(ret.isNumber()); - } - QScriptValue counter2 = createCounter.call(); - QVERIFY(counter2.isFunction()); - QVERIFY(!counter2.equals(counter)); - { - QScriptValue ret = counter2.call(); - QVERIFY(ret.isNumber()); - } - } - - // Same program run in different engines - { - QString code("1 + 2"); - QScriptProgram program(code); - QVERIFY(!program.isNull()); - double expected = eng.evaluate(program).toNumber(); - for (int x = 0; x < 2; ++x) { - QScriptEngine eng2; - for (int y = 0; y < 2; ++y) { - double ret = eng2.evaluate(program).toNumber(); - QCOMPARE(ret, expected); - } - } - } - - // No program - { - QScriptProgram program; - QVERIFY(program.isNull()); - QScriptValue ret = eng.evaluate(program); - QVERIFY(!ret.isValid()); - } -} - -void tst_QScriptEngine::checkSyntax_data() -{ - QTest::addColumn<QString>("code"); - QTest::addColumn<int>("expectedState"); - QTest::addColumn<int>("errorLineNumber"); - QTest::addColumn<int>("errorColumnNumber"); - QTest::addColumn<QString>("errorMessage"); - - QTest::newRow("0") - << QString("0") << int(QScriptSyntaxCheckResult::Valid) - << -1 << -1 << ""; - QTest::newRow("if (") - << QString("if (\n") << int(QScriptSyntaxCheckResult::Intermediate) - << 1 << 4 << ""; - QTest::newRow("if else") - << QString("\nif else") << int(QScriptSyntaxCheckResult::Error) - << 2 << 4 << "SyntaxError: Parse error"; - QTest::newRow("{if}") - << QString("{\n{\nif\n}\n") << int(QScriptSyntaxCheckResult::Error) - << 4 << 1 << "SyntaxError: Parse error"; - QTest::newRow("foo[") - << QString("foo[") << int(QScriptSyntaxCheckResult::Error) - << 1 << 4 << "SyntaxError: Parse error"; - QTest::newRow("foo['bar']") - << QString("foo['bar']") << int(QScriptSyntaxCheckResult::Valid) - << -1 << -1 << ""; - - QTest::newRow("/*") - << QString("/*") << int(QScriptSyntaxCheckResult::Intermediate) - << 1 << 1 << "Unclosed comment at end of file"; - QTest::newRow("/*\nMy comment") - << QString("/*\nMy comment") << int(QScriptSyntaxCheckResult::Intermediate) - << 1 << 1 << "Unclosed comment at end of file"; - QTest::newRow("/*\nMy comment */\nfoo = 10") - << QString("/*\nMy comment */\nfoo = 10") << int(QScriptSyntaxCheckResult::Valid) - << -1 << -1 << ""; - QTest::newRow("foo = 10 /*") - << QString("foo = 10 /*") << int(QScriptSyntaxCheckResult::Intermediate) - << -1 << -1 << ""; - QTest::newRow("foo = 10; /*") - << QString("foo = 10; /*") << int(QScriptSyntaxCheckResult::Intermediate) - << 1 << 11 << "Expected `end of file'"; - QTest::newRow("foo = 10 /* My comment */") - << QString("foo = 10 /* My comment */") << int(QScriptSyntaxCheckResult::Valid) - << -1 << -1 << ""; - - QTest::newRow("/=/") - << QString("/=/") << int(QScriptSyntaxCheckResult::Valid) << -1 << -1 << ""; - QTest::newRow("/=/g") - << QString("/=/g") << int(QScriptSyntaxCheckResult::Valid) << -1 << -1 << ""; - QTest::newRow("/a/") - << QString("/a/") << int(QScriptSyntaxCheckResult::Valid) << -1 << -1 << ""; - QTest::newRow("/a/g") - << QString("/a/g") << int(QScriptSyntaxCheckResult::Valid) << -1 << -1 << ""; -} - -void tst_QScriptEngine::checkSyntax() -{ - QFETCH(QString, code); - QFETCH(int, expectedState); - QFETCH(int, errorLineNumber); - QFETCH(int, errorColumnNumber); - QFETCH(QString, errorMessage); - - QScriptSyntaxCheckResult result = QScriptEngine::checkSyntax(code); - - // assignment - { - QScriptSyntaxCheckResult copy = result; - QCOMPARE(copy.state(), result.state()); - QCOMPARE(copy.errorLineNumber(), result.errorLineNumber()); - QCOMPARE(copy.errorColumnNumber(), result.errorColumnNumber()); - QCOMPARE(copy.errorMessage(), result.errorMessage()); - } - { - QScriptSyntaxCheckResult copy(result); - QCOMPARE(copy.state(), result.state()); - QCOMPARE(copy.errorLineNumber(), result.errorLineNumber()); - QCOMPARE(copy.errorColumnNumber(), result.errorColumnNumber()); - QCOMPARE(copy.errorMessage(), result.errorMessage()); - } - - if (expectedState == QScriptSyntaxCheckResult::Intermediate) - QEXPECT_FAIL("", "QScriptSyntaxCheckResult::state() doesn't return the Intermediate state", Abort); - QCOMPARE(result.state(), QScriptSyntaxCheckResult::State(expectedState)); - QCOMPARE(result.errorLineNumber(), errorLineNumber); - if (expectedState != QScriptSyntaxCheckResult::Valid && errorColumnNumber != 1) - QEXPECT_FAIL("", "QScriptSyntaxCheckResult::errorColumnNumber() doesn't return correct value", Continue); - QCOMPARE(result.errorColumnNumber(), errorColumnNumber); - QCOMPARE(result.errorMessage(), errorMessage); -} - -void tst_QScriptEngine::toObject() -{ - QScriptEngine eng; - QVERIFY(!eng.toObject(eng.undefinedValue()).isValid()); - QVERIFY(!eng.toObject(eng.nullValue()).isValid()); - QVERIFY(!eng.toObject(QScriptValue()).isValid()); - - QScriptValue falskt(false); - { - QScriptValue tmp = eng.toObject(falskt); - QVERIFY(tmp.isObject()); - QVERIFY(!falskt.isObject()); - QVERIFY(!falskt.engine()); - QCOMPARE(tmp.toNumber(), falskt.toNumber()); - } - - QScriptValue sant(true); - { - QScriptValue tmp = eng.toObject(sant); - QVERIFY(tmp.isObject()); - QVERIFY(!sant.isObject()); - QVERIFY(!sant.engine()); - QCOMPARE(tmp.toNumber(), sant.toNumber()); - } - - QScriptValue number(123.0); - { - QScriptValue tmp = eng.toObject(number); - QVERIFY(tmp.isObject()); - QVERIFY(!number.isObject()); - QVERIFY(!number.engine()); - QCOMPARE(tmp.toNumber(), number.toNumber()); - } - - QScriptValue str = QScriptValue(&eng, QString("ciao")); - { - QScriptValue tmp = eng.toObject(str); - QVERIFY(tmp.isObject()); - QVERIFY(!str.isObject()); - QCOMPARE(tmp.toString(), str.toString()); - } - - QScriptValue object = eng.evaluate("new Object"); - { - QScriptValue tmp = eng.toObject(object); - QVERIFY(tmp.isObject()); - QVERIFY(object.isObject()); - QVERIFY(tmp.strictlyEquals(object)); - } -} - -void tst_QScriptEngine::toObjectTwoEngines() -{ - QScriptEngine engine1; - QScriptEngine engine2; - - { - QScriptValue null = engine1.nullValue(); - QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); - QVERIFY(!engine2.toObject(null).isValid()); - QVERIFY(null.isValid()); - QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); - QVERIFY(engine2.toObject(null).engine() != &engine2); - } - { - QScriptValue undefined = engine1.undefinedValue(); - QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); - QVERIFY(!engine2.toObject(undefined).isValid()); - QVERIFY(undefined.isValid()); - QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); - QVERIFY(engine2.toObject(undefined).engine() != &engine2); - } - { - QScriptValue value = engine1.evaluate("1"); - QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); - QVERIFY(engine2.toObject(value).engine() != &engine2); - QVERIFY(!value.isObject()); - } - { - QScriptValue string = engine1.evaluate("'Qt'"); - QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); - QVERIFY(engine2.toObject(string).engine() != &engine2); - QVERIFY(!string.isObject()); - } - { - QScriptValue object = engine1.evaluate("new Object"); - QTest::ignoreMessage(QtWarningMsg, "QScriptEngine::toObject: cannot convert value created in a different engine"); - QVERIFY(engine2.toObject(object).engine() != &engine2); - QVERIFY(object.isObject()); - } -} - -void tst_QScriptEngine::newArray() -{ - QScriptEngine eng; - QScriptValue array = eng.newArray(); - QCOMPARE(array.isValid(), true); - QCOMPARE(array.isArray(), true); - QCOMPARE(array.isObject(), true); - QVERIFY(!array.isFunction()); - // QCOMPARE(array.scriptClass(), (QScriptClass*)0); - - // Prototype should be Array.prototype. - QCOMPARE(array.prototype().isValid(), true); - QCOMPARE(array.prototype().isArray(), true); - QCOMPARE(array.prototype().strictlyEquals(eng.evaluate("Array.prototype")), true); - - QScriptValue arrayWithSize = eng.newArray(42); - QCOMPARE(arrayWithSize.isValid(), true); - QCOMPARE(arrayWithSize.isArray(), true); - QCOMPARE(arrayWithSize.isObject(), true); - QCOMPARE(arrayWithSize.property("length").toInt32(), 42); - - // task 218092 - { - QScriptValue ret = eng.evaluate("[].splice(0, 0, 'a')"); - QVERIFY(ret.isArray()); - QCOMPARE(ret.property("length").toInt32(), 0); - } - { - QScriptValue ret = eng.evaluate("['a'].splice(0, 1, 'b')"); - QVERIFY(ret.isArray()); - QCOMPARE(ret.property("length").toInt32(), 1); - } - { - QScriptValue ret = eng.evaluate("['a', 'b'].splice(0, 1, 'c')"); - QVERIFY(ret.isArray()); - QCOMPARE(ret.property("length").toInt32(), 1); - } - { - QScriptValue ret = eng.evaluate("['a', 'b', 'c'].splice(0, 2, 'd')"); - QVERIFY(ret.isArray()); - QCOMPARE(ret.property("length").toInt32(), 2); - } - { - QScriptValue ret = eng.evaluate("['a', 'b', 'c'].splice(1, 2, 'd', 'e', 'f')"); - QVERIFY(ret.isArray()); - QCOMPARE(ret.property("length").toInt32(), 2); - } -} - -void tst_QScriptEngine::uncaughtException() -{ - QScriptEngine eng; - QScriptValue fun = eng.evaluate("(function foo () { return null; });"); - QVERIFY(!eng.uncaughtException().isValid()); - QVERIFY(fun.isFunction()); - QScriptValue throwFun = eng.evaluate("( function() { throw new Error('Pong'); });"); - QVERIFY(throwFun.isFunction()); - { - eng.evaluate("a = 10"); - QVERIFY(!eng.hasUncaughtException()); - QVERIFY(!eng.uncaughtException().isValid()); - } - { - eng.evaluate("1 = 2"); - QVERIFY(eng.hasUncaughtException()); - eng.clearExceptions(); - QVERIFY(!eng.hasUncaughtException()); - } - { - // Check if the call or toString functions can remove the last exception. - QVERIFY(throwFun.call().isError()); - QVERIFY(eng.hasUncaughtException()); - QScriptValue exception = eng.uncaughtException(); - fun.call(); - exception.toString(); - QVERIFY(eng.hasUncaughtException()); - QVERIFY(eng.uncaughtException().strictlyEquals(exception)); - } - eng.clearExceptions(); - { - // Check if in the call function a new exception can override an existing one. - throwFun.call(); - QVERIFY(eng.hasUncaughtException()); - QScriptValue exception = eng.uncaughtException(); - throwFun.call(); - QVERIFY(eng.hasUncaughtException()); - QVERIFY(!exception.strictlyEquals(eng.uncaughtException())); - } - { - eng.evaluate("throwFun = (function foo () { throw new Error('bla') });"); - eng.evaluate("1;\nthrowFun();"); - QVERIFY(eng.hasUncaughtException()); - QCOMPARE(eng.uncaughtExceptionLineNumber(), 1); - eng.clearExceptions(); - QVERIFY(!eng.hasUncaughtException()); - } - for (int x = 1; x < 4; ++x) { - QScriptValue ret = eng.evaluate("a = 10;\nb = 20;\n0 = 0;\n", - QString::fromLatin1("FooScript") + QString::number(x), - /* lineNumber */ x); - QVERIFY(eng.hasUncaughtException()); - QCOMPARE(eng.uncaughtExceptionLineNumber(), x + 2); - QVERIFY(eng.uncaughtException().strictlyEquals(ret)); - QVERIFY(eng.hasUncaughtException()); - QVERIFY(eng.uncaughtException().strictlyEquals(ret)); - QString backtrace = QString::fromLatin1("<anonymous>()@FooScript") + QString::number(x) + ":" + QString::number(x + 2); - QCOMPARE(eng.uncaughtExceptionBacktrace().join(""), backtrace); - QVERIFY(fun.call().isNull()); - QVERIFY(eng.hasUncaughtException()); - QCOMPARE(eng.uncaughtExceptionLineNumber(), x + 2); - QVERIFY(eng.uncaughtException().strictlyEquals(ret)); - eng.clearExceptions(); - QVERIFY(!eng.hasUncaughtException()); - QCOMPARE(eng.uncaughtExceptionLineNumber(), -1); - QVERIFY(!eng.uncaughtException().isValid()); - eng.evaluate("2 = 3"); - QVERIFY(eng.hasUncaughtException()); - QScriptValue ret2 = throwFun.call(); - QVERIFY(ret2.isError()); - QVERIFY(eng.hasUncaughtException()); - QVERIFY(eng.uncaughtException().strictlyEquals(ret2)); - QCOMPARE(eng.uncaughtExceptionLineNumber(), 1); - eng.clearExceptions(); - QVERIFY(!eng.hasUncaughtException()); - eng.evaluate("1 + 2"); - QVERIFY(!eng.hasUncaughtException()); - } -} - -void tst_QScriptEngine::newDate() -{ - QScriptEngine eng; - { - QScriptValue date = eng.newDate(0); - QCOMPARE(date.isValid(), true); - QCOMPARE(date.isDate(), true); - QCOMPARE(date.isObject(), true); - QVERIFY(!date.isFunction()); - // prototype should be Date.prototype - QCOMPARE(date.prototype().isValid(), true); - QCOMPARE(date.prototype().isDate(), true); - QCOMPARE(date.prototype().strictlyEquals(eng.evaluate("Date.prototype")), true); - } - { - QDateTime dt = QDateTime(QDate(1, 2, 3), QTime(4, 5, 6, 7), Qt::LocalTime); - QScriptValue date = eng.newDate(dt); - QCOMPARE(date.isValid(), true); - QCOMPARE(date.isDate(), true); - QCOMPARE(date.isObject(), true); - // prototype should be Date.prototype - QCOMPARE(date.prototype().isValid(), true); - QCOMPARE(date.prototype().isDate(), true); - QCOMPARE(date.prototype().strictlyEquals(eng.evaluate("Date.prototype")), true); - - QCOMPARE(date.toDateTime(), dt); - } - { - QDateTime dt = QDateTime(QDate(1, 2, 3), QTime(4, 5, 6, 7), Qt::UTC); - QScriptValue date = eng.newDate(dt); - // toDateTime() result should be in local time - QCOMPARE(date.toDateTime(), dt.toLocalTime()); - } - // Date.parse() should return NaN when it fails - { - QScriptValue ret = eng.evaluate("Date.parse()"); - QVERIFY(ret.isNumber()); - QVERIFY(qIsNaN(ret.toNumber())); - } - // Date.parse() should be able to parse the output of Date().toString() - { - QScriptValue ret = eng.evaluate("var x = new Date(); var s = x.toString(); s == new Date(Date.parse(s)).toString()"); - QVERIFY(ret.isBoolean()); - QCOMPARE(ret.toBoolean(), true); - } -} - -QTEST_MAIN(tst_QScriptEngine) -#include "tst_qscriptengine.moc" diff --git a/JavaScriptCore/qt/tests/qscriptstring/qscriptstring.pro b/JavaScriptCore/qt/tests/qscriptstring/qscriptstring.pro deleted file mode 100644 index 5ad9b7c..0000000 --- a/JavaScriptCore/qt/tests/qscriptstring/qscriptstring.pro +++ /dev/null @@ -1,7 +0,0 @@ -TEMPLATE = app -TARGET = tst_qscriptstring -QT += testlib -include(../tests.pri) - -SOURCES += tst_qscriptstring.cpp - diff --git a/JavaScriptCore/qt/tests/qscriptstring/tst_qscriptstring.cpp b/JavaScriptCore/qt/tests/qscriptstring/tst_qscriptstring.cpp deleted file mode 100644 index ff31835..0000000 --- a/JavaScriptCore/qt/tests/qscriptstring/tst_qscriptstring.cpp +++ /dev/null @@ -1,175 +0,0 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef tst_qscriptstring_h -#define tst_qscriptstring_h - -#include "qscriptengine.h" -#include "qscriptstring.h" -#include <QtCore/qhash.h> -#include <QtTest/QtTest> - -class tst_QScriptString : public QObject { - Q_OBJECT - -public: - tst_QScriptString(); - virtual ~tst_QScriptString(); - -private slots: - void test(); - void hash(); - void toArrayIndex_data(); - void toArrayIndex(); -}; - -tst_QScriptString::tst_QScriptString() -{ -} - -tst_QScriptString::~tst_QScriptString() -{ -} - -void tst_QScriptString::test() -{ - QScriptEngine eng; - { - QScriptString str; - QVERIFY(!str.isValid()); - QVERIFY(str == str); - QVERIFY(!(str != str)); - QVERIFY(str.toString().isNull()); - - QScriptString str1(str); - QVERIFY(!str1.isValid()); - - QScriptString str2 = str; - QVERIFY(!str2.isValid()); - - QCOMPARE(str.toArrayIndex(), quint32(0xffffffff)); - } - for (int x = 0; x < 2; ++x) { - QString ciao = QString::fromLatin1("ciao"); - QScriptString str = eng.toStringHandle(ciao); - QVERIFY(str.isValid()); - QVERIFY(str == str); - QVERIFY(!(str != str)); - QCOMPARE(str.toString(), ciao); - - QScriptString str1(str); - QCOMPARE(str, str1); - - QScriptString str2 = str; - QCOMPARE(str, str2); - - QScriptString str3 = eng.toStringHandle(ciao); - QVERIFY(str3.isValid()); - QCOMPARE(str, str3); - - eng.collectGarbage(); - - QVERIFY(str.isValid()); - QCOMPARE(str.toString(), ciao); - QVERIFY(str1.isValid()); - QCOMPARE(str1.toString(), ciao); - QVERIFY(str2.isValid()); - QCOMPARE(str2.toString(), ciao); - QVERIFY(str3.isValid()); - QCOMPARE(str3.toString(), ciao); - } - { - QScriptEngine* eng2 = new QScriptEngine; - QString one = QString::fromLatin1("one"); - QString two = QString::fromLatin1("two"); - QScriptString oneInterned = eng2->toStringHandle(one); - QCOMPARE(oneInterned.toString(), one); - QScriptString twoInterned = eng2->toStringHandle(two); - QCOMPARE(twoInterned.toString(), two); - QVERIFY(oneInterned != twoInterned); - QVERIFY(!(oneInterned == twoInterned)); - - delete eng2; - } -} - -void tst_QScriptString::hash() -{ - QScriptEngine engine; - QHash<QScriptString, int> stringToInt; - QScriptString foo = engine.toStringHandle("foo"); - - QScriptString bar = engine.toStringHandle("bar"); - QVERIFY(!stringToInt.contains(foo)); - for (int i = 0; i < 1000000; ++i) - stringToInt.insert(foo, 123); - QCOMPARE(stringToInt.value(foo), 123); - QVERIFY(!stringToInt.contains(bar)); - stringToInt.insert(bar, 456); - QCOMPARE(stringToInt.value(bar), 456); - QCOMPARE(stringToInt.value(foo), 123); -} - -void tst_QScriptString::toArrayIndex_data() -{ - QTest::addColumn<QString>("input"); - QTest::addColumn<bool>("expectSuccess"); - QTest::addColumn<quint32>("expectedIndex"); - QTest::newRow("foo") << QString::fromLatin1("foo") << false << quint32(0xffffffff); - QTest::newRow("empty") << QString::fromLatin1("") << false << quint32(0xffffffff); - QTest::newRow("0") << QString::fromLatin1("0") << true << quint32(0); - QTest::newRow("00") << QString::fromLatin1("00") << false << quint32(0xffffffff); - QTest::newRow("1") << QString::fromLatin1("1") << true << quint32(1); - QTest::newRow("123") << QString::fromLatin1("123") << true << quint32(123); - QTest::newRow("-1") << QString::fromLatin1("-1") << false << quint32(0xffffffff); - QTest::newRow("0a") << QString::fromLatin1("0a") << false << quint32(0xffffffff); - QTest::newRow("0x1") << QString::fromLatin1("0x1") << false << quint32(0xffffffff); - QTest::newRow("01") << QString::fromLatin1("01") << false << quint32(0xffffffff); - QTest::newRow("101a") << QString::fromLatin1("101a") << false << quint32(0xffffffff); - QTest::newRow("4294967294") << QString::fromLatin1("4294967294") << true << quint32(0xfffffffe); - QTest::newRow("4294967295") << QString::fromLatin1("4294967295") << false << quint32(0xffffffff); - QTest::newRow("11111111111") << QString::fromLatin1("11111111111") << false << quint32(0xffffffff); - QTest::newRow("0.0") << QString::fromLatin1("0.0") << false << quint32(0xffffffff); - QTest::newRow("1.0") << QString::fromLatin1("1.0") << false << quint32(0xffffffff); - QTest::newRow("1.5") << QString::fromLatin1("1.5") << false << quint32(0xffffffff); - QTest::newRow("1.") << QString::fromLatin1("1.") << false << quint32(0xffffffff); - QTest::newRow(".1") << QString::fromLatin1(".1") << false << quint32(0xffffffff); - QTest::newRow("1e0") << QString::fromLatin1("1e0") << false << quint32(0xffffffff); -} - -void tst_QScriptString::toArrayIndex() -{ - QFETCH(QString, input); - QFETCH(bool, expectSuccess); - QFETCH(quint32, expectedIndex); - QScriptEngine engine; - for (int x = 0; x < 2; ++x) { - bool isArrayIndex; - bool* ptr = (!x) ? &isArrayIndex : (bool*)0; - quint32 result = engine.toStringHandle(input).toArrayIndex(ptr); - if (!x) - QCOMPARE(isArrayIndex, expectSuccess); - QCOMPARE(result, expectedIndex); - } -} - -QTEST_MAIN(tst_QScriptString) -#include "tst_qscriptstring.moc" - -#endif // tst_qscriptstring_h diff --git a/JavaScriptCore/qt/tests/qscriptvalue/qscriptvalue.pro b/JavaScriptCore/qt/tests/qscriptvalue/qscriptvalue.pro deleted file mode 100644 index 02e94ec..0000000 --- a/JavaScriptCore/qt/tests/qscriptvalue/qscriptvalue.pro +++ /dev/null @@ -1,15 +0,0 @@ -TEMPLATE = app -TARGET = tst_qscriptvalue -QT += testlib -isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../.. -include(../tests.pri) - -SOURCES += \ - tst_qscriptvalue.cpp \ - tst_qscriptvalue_generated_init.cpp \ - tst_qscriptvalue_generated_comparison.cpp \ - tst_qscriptvalue_generated_istype.cpp \ - tst_qscriptvalue_generated_totype.cpp \ - -HEADERS += \ - tst_qscriptvalue.h diff --git a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.cpp b/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.cpp deleted file mode 100644 index e04d3e9..0000000 --- a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.cpp +++ /dev/null @@ -1,1296 +0,0 @@ -/* - Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#include "tst_qscriptvalue.h" -#include <QtCore/qnumeric.h> - -tst_QScriptValue::tst_QScriptValue() - : m_engine(0) -{ -} - -tst_QScriptValue::~tst_QScriptValue() -{ - delete m_engine; -} - -void tst_QScriptValue::ctor() -{ - QScriptEngine eng; - { - QScriptValue v; - QCOMPARE(v.isValid(), false); - QCOMPARE(v.engine(), (QScriptEngine*)0); - } - { - QScriptValue v(&eng, QScriptValue::UndefinedValue); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isUndefined(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.engine(), &eng); - } - { - QScriptValue v(&eng, QScriptValue::NullValue); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isNull(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.engine(), &eng); - } - { - QScriptValue v(&eng, false); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isBoolean(), true); - QCOMPARE(v.isBool(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toBoolean(), false); - QCOMPARE(v.engine(), &eng); - } - { - QScriptValue v(&eng, int(1)); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isNumber(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toNumber(), 1.0); - QCOMPARE(v.engine(), &eng); - } - { - QScriptValue v(int(0x43211234)); - QVERIFY(v.isNumber()); - QCOMPARE(v.toInt32(), 0x43211234); - } - { - QScriptValue v(&eng, uint(1)); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isNumber(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toNumber(), 1.0); - QCOMPARE(v.engine(), &eng); - } - { - QScriptValue v(uint(0x43211234)); - QVERIFY(v.isNumber()); - QCOMPARE(v.toUInt32(), uint(0x43211234)); - } - { - QScriptValue v(&eng, 1.0); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isNumber(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toNumber(), 1.0); - QCOMPARE(v.engine(), &eng); - } - { - QScriptValue v(12345678910.5); - QVERIFY(v.isNumber()); - QCOMPARE(v.toNumber(), 12345678910.5); - } - { - QScriptValue v(&eng, "ciao"); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isString(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toString(), QLatin1String("ciao")); - QCOMPARE(v.engine(), &eng); - } - { - QScriptValue v(&eng, QString("ciao")); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isString(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toString(), QLatin1String("ciao")); - QCOMPARE(v.engine(), &eng); - } - // copy constructor, operator= - { - QScriptValue v(&eng, 1.0); - QScriptValue v2(v); - QCOMPARE(v2.strictlyEquals(v), true); - QCOMPARE(v2.engine(), &eng); - - QScriptValue v3(v); - QCOMPARE(v3.strictlyEquals(v), true); - QCOMPARE(v3.strictlyEquals(v2), true); - QCOMPARE(v3.engine(), &eng); - - QScriptValue v4(&eng, 2.0); - QCOMPARE(v4.strictlyEquals(v), false); - v3 = v4; - QCOMPARE(v3.strictlyEquals(v), false); - QCOMPARE(v3.strictlyEquals(v4), true); - - v2 = QScriptValue(); - QCOMPARE(v2.strictlyEquals(v), false); - QCOMPARE(v.toNumber(), 1.0); - - QScriptValue v5(v); - QCOMPARE(v5.strictlyEquals(v), true); - v = QScriptValue(); - QCOMPARE(v5.strictlyEquals(v), false); - QCOMPARE(v5.toNumber(), 1.0); - } - - // constructors that take no engine argument - { - QScriptValue v(QScriptValue::UndefinedValue); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isUndefined(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.engine(), (QScriptEngine*)0); - } - { - QScriptValue v(QScriptValue::NullValue); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isNull(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.engine(), (QScriptEngine*)0); - } - { - QScriptValue v(false); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isBoolean(), true); - QCOMPARE(v.isBool(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toBoolean(), false); - QCOMPARE(v.engine(), (QScriptEngine*)0); - } - { - QScriptValue v(int(1)); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isNumber(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toNumber(), 1.0); - QCOMPARE(v.engine(), (QScriptEngine*)0); - } - { - QScriptValue v(uint(1)); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isNumber(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toNumber(), 1.0); - QCOMPARE(v.engine(), (QScriptEngine*)0); - } - { - QScriptValue v(1.0); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isNumber(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toNumber(), 1.0); - QCOMPARE(v.engine(), (QScriptEngine*)0); - } - { - QScriptValue v("ciao"); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isString(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toString(), QLatin1String("ciao")); - QCOMPARE(v.engine(), (QScriptEngine*)0); - } - { - QScriptValue v(QString("ciao")); - QCOMPARE(v.isValid(), true); - QCOMPARE(v.isString(), true); - QCOMPARE(v.isObject(), false); - QCOMPARE(v.toString(), QLatin1String("ciao")); - QCOMPARE(v.engine(), (QScriptEngine*)0); - } - // copy constructor, operator= - { - QScriptValue v(1.0); - QScriptValue v2(v); - QCOMPARE(v2.strictlyEquals(v), true); - QCOMPARE(v2.engine(), (QScriptEngine*)0); - - QScriptValue v3(v); - QCOMPARE(v3.strictlyEquals(v), true); - QCOMPARE(v3.strictlyEquals(v2), true); - QCOMPARE(v3.engine(), (QScriptEngine*)0); - - QScriptValue v4(2.0); - QCOMPARE(v4.strictlyEquals(v), false); - v3 = v4; - QCOMPARE(v3.strictlyEquals(v), false); - QCOMPARE(v3.strictlyEquals(v4), true); - - v2 = QScriptValue(); - QCOMPARE(v2.strictlyEquals(v), false); - QCOMPARE(v.toNumber(), 1.0); - - QScriptValue v5(v); - QCOMPARE(v5.strictlyEquals(v), true); - v = QScriptValue(); - QCOMPARE(v5.strictlyEquals(v), false); - QCOMPARE(v5.toNumber(), 1.0); - } - - // 0 engine - QVERIFY(QScriptValue(0, QScriptValue::UndefinedValue).isUndefined()); - QVERIFY(QScriptValue(0, QScriptValue::NullValue).isNull()); - QVERIFY(QScriptValue(0, false).isBool()); - QVERIFY(QScriptValue(0, int(1)).isNumber()); - QVERIFY(QScriptValue(0, uint(1)).isNumber()); - QVERIFY(QScriptValue(0, 1.0).isNumber()); - QVERIFY(QScriptValue(0, "ciao").isString()); - QVERIFY(QScriptValue(0, QString("ciao")).isString()); -} - -void tst_QScriptValue::getPropertySimple_data() -{ - QTest::addColumn<QString>("code"); - QTest::addColumn<QString>("propertyName"); - QTest::addColumn<QString>("desc"); - QTest::addColumn<bool>("isArrayIndex"); - - QTest::newRow("new Array()") - << QString::fromAscii("new Array()") - << QString::fromAscii("length") - << QString::fromAscii("0") - << false; - QTest::newRow("new Object().length") - << QString::fromAscii("new Object()") - << QString::fromAscii("length") - << QString::fromAscii("") // Undefined is an invalid property. - << false; - QTest::newRow("new Object().toString") - << QString::fromAscii("new Object()") - << QString::fromAscii("toString") - << QString::fromAscii("function toString() {\n [native code]\n}") - << false; - QTest::newRow("[1,2,3,4]") - << QString::fromAscii("[1,2,3,'s',4]") - << QString::fromAscii("2") - << QString::fromAscii("3") - << true; - QTest::newRow("[1,3,'a','b']") - << QString::fromAscii("[1,3,'a','b']") - << QString::fromAscii("3") - << QString::fromAscii("b") - << true; - QTest::newRow("[4,5]") - << QString::fromAscii("[4,5]") - << QString::fromAscii("123") - << QString::fromAscii("") // Undefined is an invalid property. - << true; - QTest::newRow("[1,3,4]") - << QString::fromAscii("[1,3,4]") - << QString::fromAscii("abc") - << QString::fromAscii("") // Undefined is an invalid property. - << true; -} - -void tst_QScriptValue::getPropertySimple() -{ - QFETCH(QString, code); - QFETCH(QString, propertyName); - QFETCH(QString, desc); - - QScriptEngine engine; - QScriptValue object = engine.evaluate(code); - QVERIFY(object.isValid()); - { - QScriptValue property = object.property(propertyName); - QCOMPARE(property.toString(), desc); - } - { - QScriptString name = engine.toStringHandle(propertyName); - QScriptValue property = object.property(name); - QCOMPARE(property.toString(), desc); - } - { - bool ok; - quint32 idx = engine.toStringHandle(propertyName).toArrayIndex(&ok); - if (ok) { - QScriptValue property = object.property(idx); - QCOMPARE(property.toString(), desc); - } - } -} - -void tst_QScriptValue::setPropertySimple() -{ - QScriptEngine engine; - { - QScriptValue invalid; - QScriptValue property(1234); - - invalid.setProperty("aaa", property); - invalid.setProperty(13, property); - invalid.setProperty(engine.toStringHandle("aaa"), property); - - QVERIFY(!invalid.property("aaa").isValid()); - QVERIFY(!invalid.property(13).isValid()); - QVERIFY(!invalid.property(engine.toStringHandle("aaa")).isValid()); - } - { - QScriptValue object = engine.newObject(); - QScriptValue property; - - object.setProperty(13, property); - object.setProperty("aaa", property); - object.setProperty(engine.toStringHandle("aaa"), property); - - QVERIFY(!object.property(13).isValid()); - QVERIFY(!object.property("aaa").isValid()); - QVERIFY(!object.property(engine.toStringHandle("aaa")).isValid()); - } - { - // Check if setting an invalid property works as deleteProperty. - QScriptValue object = engine.evaluate("o = {13: 0, 'aaa': 3, 'bbb': 1}"); - QScriptValue property; - - QVERIFY(object.property(13).isValid()); - QVERIFY(object.property("aaa").isValid()); - QVERIFY(object.property(engine.toStringHandle("aaa")).isValid()); - - object.setProperty(13, property); - object.setProperty("aaa", property); - object.setProperty(engine.toStringHandle("bbb"), property); - - QVERIFY(!object.property(13).isValid()); - QVERIFY(!object.property("aaa").isValid()); - QVERIFY(!object.property(engine.toStringHandle("aaa")).isValid()); - } - { - QScriptValue object = engine.evaluate("new Object"); - QVERIFY(object.isObject()); - QScriptValue property = object.property("foo"); - QVERIFY(!property.isValid()); - property = QScriptValue(2); - object.setProperty("foo", property); - QVERIFY(object.property("foo").isNumber()); - QVERIFY(object.property("foo").toNumber() == 2); - } - { - QScriptValue o1 = engine.evaluate("o1 = new Object; o1"); - QScriptValue o2 = engine.evaluate("o2 = new Object; o2"); - QVERIFY(engine.evaluate("o1.__proto__ = o2; o1.__proto__ === o2").toBool()); - QVERIFY(engine.evaluate("o2.foo = 22; o1.foo == 22").toBool()); - QVERIFY(o1.property("foo").toString() == "22"); - o2.setProperty("foo", QScriptValue(&engine, 456.0)); - QVERIFY(engine.evaluate("o1.foo == 456").toBool()); - QVERIFY(o1.property("foo").isNumber()); - } -} - -void tst_QScriptValue::getPropertyResolveFlag() -{ - QScriptEngine engine; - QScriptValue object1 = engine.evaluate("o1 = new Object();"); - QScriptValue object2 = engine.evaluate("o2 = new Object(); o1.__proto__ = o2; o2"); - QScriptValue number(&engine, 456.0); - QVERIFY(object1.isObject()); - QVERIFY(object2.isObject()); - QVERIFY(number.isNumber()); - - object2.setProperty("propertyInPrototype", number); - QVERIFY(object2.property("propertyInPrototype").isNumber()); - // default is ResolvePrototype - QCOMPARE(object1.property("propertyInPrototype").strictlyEquals(number), true); - QCOMPARE(object1.property("propertyInPrototype", QScriptValue::ResolvePrototype) - .strictlyEquals(number), true); - QCOMPARE(object1.property("propertyInPrototype", QScriptValue::ResolveLocal).isValid(), false); -} - -void tst_QScriptValue::getSetProperty() -{ - QScriptEngine eng; - - QScriptValue object = eng.newObject(); - - QScriptValue str = QScriptValue(&eng, "bar"); - object.setProperty("foo", str); - QCOMPARE(object.property("foo").toString(), str.toString()); - - QScriptValue num = QScriptValue(&eng, 123.0); - object.setProperty("baz", num); - QCOMPARE(object.property("baz").toNumber(), num.toNumber()); - - QScriptValue strstr = QScriptValue("bar"); - QCOMPARE(strstr.engine(), (QScriptEngine *)0); - object.setProperty("foo", strstr); - QCOMPARE(object.property("foo").toString(), strstr.toString()); - QCOMPARE(strstr.engine(), &eng); // the value has been bound to the engine - - QScriptValue numnum = QScriptValue(123.0); - object.setProperty("baz", numnum); - QCOMPARE(object.property("baz").toNumber(), numnum.toNumber()); - - QScriptValue inv; - inv.setProperty("foo", num); - QCOMPARE(inv.property("foo").isValid(), false); - - QScriptValue array = eng.newArray(); - array.setProperty(0, num); - QCOMPARE(array.property(0).toNumber(), num.toNumber()); - QCOMPARE(array.property("0").toNumber(), num.toNumber()); - QCOMPARE(array.property("length").toUInt32(), quint32(1)); - array.setProperty(1, str); - QCOMPARE(array.property(1).toString(), str.toString()); - QCOMPARE(array.property("1").toString(), str.toString()); - QCOMPARE(array.property("length").toUInt32(), quint32(2)); - array.setProperty("length", QScriptValue(&eng, 1)); - QCOMPARE(array.property("length").toUInt32(), quint32(1)); - QCOMPARE(array.property(1).isValid(), false); - - // task 162051 -- detecting whether the property is an array index or not - QVERIFY(eng.evaluate("a = []; a['00'] = 123; a['00']").strictlyEquals(QScriptValue(&eng, 123))); - QVERIFY(eng.evaluate("a.length").strictlyEquals(QScriptValue(&eng, 0))); - QVERIFY(eng.evaluate("a.hasOwnProperty('00')").strictlyEquals(QScriptValue(&eng, true))); - QVERIFY(eng.evaluate("a.hasOwnProperty('0')").strictlyEquals(QScriptValue(&eng, false))); - QVERIFY(eng.evaluate("a[0]").isUndefined()); - QVERIFY(eng.evaluate("a[0.5] = 456; a[0.5]").strictlyEquals(QScriptValue(&eng, 456))); - QVERIFY(eng.evaluate("a.length").strictlyEquals(QScriptValue(&eng, 0))); - QVERIFY(eng.evaluate("a.hasOwnProperty('0.5')").strictlyEquals(QScriptValue(&eng, true))); - QVERIFY(eng.evaluate("a[0]").isUndefined()); - QVERIFY(eng.evaluate("a[0] = 789; a[0]").strictlyEquals(QScriptValue(&eng, 789))); - QVERIFY(eng.evaluate("a.length").strictlyEquals(QScriptValue(&eng, 1))); - - // task 183072 -- 0x800000000 is not an array index - eng.evaluate("a = []; a[0x800000000] = 123"); - QVERIFY(eng.evaluate("a.length").strictlyEquals(QScriptValue(&eng, 0))); - QVERIFY(eng.evaluate("a[0]").isUndefined()); - QVERIFY(eng.evaluate("a[0x800000000]").strictlyEquals(QScriptValue(&eng, 123))); - - QScriptEngine otherEngine; - QScriptValue otherNum = QScriptValue(&otherEngine, 123); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setProperty() failed: cannot set value created in a different engine"); - object.setProperty("oof", otherNum); - QCOMPARE(object.property("oof").isValid(), false); - - // test ResolveMode - QScriptValue object2 = eng.newObject(); - object.setPrototype(object2); - QScriptValue num2 = QScriptValue(&eng, 456.0); - object2.setProperty("propertyInPrototype", num2); - // default is ResolvePrototype - QCOMPARE(object.property("propertyInPrototype") - .strictlyEquals(num2), true); - QCOMPARE(object.property("propertyInPrototype", QScriptValue::ResolvePrototype) - .strictlyEquals(num2), true); - QCOMPARE(object.property("propertyInPrototype", QScriptValue::ResolveLocal) - .isValid(), false); - QEXPECT_FAIL("", "QScriptValue::ResolveScope is not implemented", Continue); - QCOMPARE(object.property("propertyInPrototype", QScriptValue::ResolveScope) - .strictlyEquals(num2), false); - QCOMPARE(object.property("propertyInPrototype", QScriptValue::ResolveFull) - .strictlyEquals(num2), true); - - // test property removal (setProperty(QScriptValue())) - QScriptValue object3 = eng.newObject(); - object3.setProperty("foo", num); - QCOMPARE(object3.property("foo").strictlyEquals(num), true); - object3.setProperty("bar", str); - QCOMPARE(object3.property("bar").strictlyEquals(str), true); - object3.setProperty("foo", QScriptValue()); - QCOMPARE(object3.property("foo").isValid(), false); - QCOMPARE(object3.property("bar").strictlyEquals(str), true); - object3.setProperty("foo", num); - QCOMPARE(object3.property("foo").strictlyEquals(num), true); - QCOMPARE(object3.property("bar").strictlyEquals(str), true); - object3.setProperty("bar", QScriptValue()); - QCOMPARE(object3.property("bar").isValid(), false); - QCOMPARE(object3.property("foo").strictlyEquals(num), true); - object3.setProperty("foo", QScriptValue()); - object3.setProperty("foo", QScriptValue()); - - eng.globalObject().setProperty("object3", object3); - QCOMPARE(eng.evaluate("object3.hasOwnProperty('foo')") - .strictlyEquals(QScriptValue(&eng, false)), true); - object3.setProperty("foo", num); - QCOMPARE(eng.evaluate("object3.hasOwnProperty('foo')") - .strictlyEquals(QScriptValue(&eng, true)), true); - eng.globalObject().setProperty("object3", QScriptValue()); - QCOMPARE(eng.evaluate("this.hasOwnProperty('object3')") - .strictlyEquals(QScriptValue(&eng, false)), true); - - eng.globalObject().setProperty("object", object); - - // ReadOnly - object.setProperty("readOnlyProperty", num, QScriptValue::ReadOnly); - // QCOMPARE(object.propertyFlags("readOnlyProperty"), QScriptValue::ReadOnly); - QCOMPARE(object.property("readOnlyProperty").strictlyEquals(num), true); - eng.evaluate("object.readOnlyProperty = !object.readOnlyProperty"); - QCOMPARE(object.property("readOnlyProperty").strictlyEquals(num), true); - // Should still be part of enumeration. - { - QScriptValue ret = eng.evaluate( - "found = false;" - "for (var p in object) {" - " if (p == 'readOnlyProperty') {" - " found = true; break;" - " }" - "} found"); - QCOMPARE(ret.strictlyEquals(QScriptValue(&eng, true)), true); - } - // should still be deletable - { - QScriptValue ret = eng.evaluate("delete object.readOnlyProperty"); - QCOMPARE(ret.strictlyEquals(QScriptValue(&eng, true)), true); - QCOMPARE(object.property("readOnlyProperty").isValid(), false); - } - - // Undeletable - object.setProperty("undeletableProperty", num, QScriptValue::Undeletable); - // QCOMPARE(object.propertyFlags("undeletableProperty"), QScriptValue::Undeletable); - QCOMPARE(object.property("undeletableProperty").strictlyEquals(num), true); - { - QScriptValue ret = eng.evaluate("delete object.undeletableProperty"); - QCOMPARE(ret.strictlyEquals(QScriptValue(&eng, true)), false); - QCOMPARE(object.property("undeletableProperty").strictlyEquals(num), true); - } - // should still be writable - eng.evaluate("object.undeletableProperty = object.undeletableProperty + 1"); - QCOMPARE(object.property("undeletableProperty").toNumber(), num.toNumber() + 1); - // should still be part of enumeration - { - QScriptValue ret = eng.evaluate( - "found = false;" - "for (var p in object) {" - " if (p == 'undeletableProperty') {" - " found = true; break;" - " }" - "} found"); - QCOMPARE(ret.strictlyEquals(QScriptValue(&eng, true)), true); - } - // should still be deletable from C++ - object.setProperty("undeletableProperty", QScriptValue()); - QEXPECT_FAIL("", "With JSC-based back-end, undeletable properties can't be deleted from C++", Continue); - QVERIFY(!object.property("undeletableProperty").isValid()); - // QEXPECT_FAIL("", "With JSC-based back-end, undeletable properties can't be deleted from C++", Continue); - // QCOMPARE(object.propertyFlags("undeletableProperty"), 0); - - // SkipInEnumeration - object.setProperty("dontEnumProperty", num, QScriptValue::SkipInEnumeration); - // QCOMPARE(object.propertyFlags("dontEnumProperty"), QScriptValue::SkipInEnumeration); - QCOMPARE(object.property("dontEnumProperty").strictlyEquals(num), true); - // should not be part of enumeration - { - QScriptValue ret = eng.evaluate( - "found = false;" - "for (var p in object) {" - " if (p == 'dontEnumProperty') {" - " found = true; break;" - " }" - "} found"); - QCOMPARE(ret.strictlyEquals(QScriptValue(&eng, false)), true); - } - // should still be writable - eng.evaluate("object.dontEnumProperty = object.dontEnumProperty + 1"); - QCOMPARE(object.property("dontEnumProperty").toNumber(), num.toNumber() + 1); - // should still be deletable - { - QScriptValue ret = eng.evaluate("delete object.dontEnumProperty"); - QCOMPARE(ret.strictlyEquals(QScriptValue(&eng, true)), true); - QCOMPARE(object.property("dontEnumProperty").isValid(), false); - } - - // change flags - object.setProperty("flagProperty", str); - // QCOMPARE(object.propertyFlags("flagProperty"), static_cast<QScriptValue::PropertyFlags>(0)); - - object.setProperty("flagProperty", str, QScriptValue::ReadOnly); - // QCOMPARE(object.propertyFlags("flagProperty"), QScriptValue::ReadOnly); - - // object.setProperty("flagProperty", str, object.propertyFlags("flagProperty") | QScriptValue::SkipInEnumeration); - // QCOMPARE(object.propertyFlags("flagProperty"), QScriptValue::ReadOnly | QScriptValue::SkipInEnumeration); - - object.setProperty("flagProperty", str, QScriptValue::KeepExistingFlags); - // QCOMPARE(object.propertyFlags("flagProperty"), QScriptValue::ReadOnly | QScriptValue::SkipInEnumeration); - - object.setProperty("flagProperty", str, QScriptValue::UserRange); - // QCOMPARE(object.propertyFlags("flagProperty"), QScriptValue::UserRange); - - // flags of property in the prototype - { - QScriptValue object2 = eng.newObject(); - object2.setPrototype(object); - // QCOMPARE(object2.propertyFlags("flagProperty", QScriptValue::ResolveLocal), 0); - // QCOMPARE(object2.propertyFlags("flagProperty"), QScriptValue::UserRange); - } - - // using interned strings - QScriptString foo = eng.toStringHandle("foo"); - - object.setProperty(foo, QScriptValue()); - QVERIFY(!object.property(foo).isValid()); - - object.setProperty(foo, num); - QVERIFY(object.property(foo).strictlyEquals(num)); - QVERIFY(object.property("foo").strictlyEquals(num)); - // QVERIFY(object.propertyFlags(foo) == 0); -} - -void tst_QScriptValue::toStringSimple_data() -{ - QTest::addColumn<QString>("code"); - QTest::addColumn<QString>("result"); - - QTest::newRow("string") << QString::fromAscii("'hello'") << QString::fromAscii("hello"); - QTest::newRow("string utf") << QString::fromUtf8("'ąśćżźółńę'") << QString::fromUtf8("ąśćżźółńę"); - QTest::newRow("expression") << QString::fromAscii("1 + 4") << QString::fromAscii("5"); - QTest::newRow("null") << QString::fromAscii("null") << QString::fromAscii("null"); - QTest::newRow("boolean") << QString::fromAscii("false") << QString::fromAscii("false"); - QTest::newRow("undefined") << QString::fromAscii("undefined") << QString::fromAscii("undefined"); - QTest::newRow("object") << QString::fromAscii("new Object") << QString::fromAscii("[object Object]"); -} - -/* Test conversion to string from different JSC types */ -void tst_QScriptValue::toStringSimple() -{ - QFETCH(QString, code); - QFETCH(QString, result); - - QScriptEngine engine; - QCOMPARE(engine.evaluate(code).toString(), result); -} - -void tst_QScriptValue::copyConstructor_data() -{ - QScriptEngine engine; - QScriptValue nnumber(123); - QScriptValue nstring("ping"); - QScriptValue number(engine.evaluate("1")); - QScriptValue string(engine.evaluate("'foo'")); - QScriptValue object(engine.evaluate("new Object")); - QScriptValue undefined(engine.evaluate("undefined")); - QScriptValue null(engine.evaluate("null")); - - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<QString>("result"); - - QTest::newRow("native number") << nnumber << QString::number(123); - QTest::newRow("native string") << nstring << QString("ping"); - QTest::newRow("number") << number << QString::fromAscii("1"); - QTest::newRow("string") << string << QString::fromAscii("foo"); - QTest::newRow("object") << object << QString::fromAscii("[object Object]"); - QTest::newRow("undefined") << undefined << QString::fromAscii("undefined"); - QTest::newRow("null") << null << QString::fromAscii("null"); -} - -void tst_QScriptValue::copyConstructor() -{ - QFETCH(QScriptValue, value); - QFETCH(QString, result); - - QVERIFY(value.isValid()); - QScriptValue tmp(value); - QVERIFY(tmp.isValid()); - QCOMPARE(tmp.toString(), result); -} - -void tst_QScriptValue::assignOperator_data() -{ - copyConstructor_data(); -} - -void tst_QScriptValue::assignOperator() -{ - QFETCH(QScriptValue, value); - QFETCH(QString, result); - - QScriptValue tmp; - tmp = value; - QVERIFY(tmp.isValid()); - QCOMPARE(tmp.toString(), result); -} - -/* Test internal data sharing between a diffrenet QScriptValue. */ -void tst_QScriptValue::dataSharing() -{ - QScriptEngine engine; - QScriptValue v1; - QScriptValue v2(v1); - - v1 = engine.evaluate("1"); // v1 == 1 ; v2 invalid. - QVERIFY(v1.isValid()); - QVERIFY(!v2.isValid()); - - v2 = v1; // v1 == 1; v2 == 1. - QVERIFY(v1.isValid()); - QVERIFY(v2.isValid()); - - v1 = engine.evaluate("obj = new Date"); // v1 == [object Date] ; v2 == 1. - QVERIFY(v1.isValid()); - QVERIFY(v2.isValid()); - QVERIFY(v2.toString() != v1.toString()); - - // TODO add object manipulation (v1 and v2 point to the same object). -} - -void tst_QScriptValue::constructors_data() -{ - QScriptEngine engine; - - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<QString>("string"); - QTest::addColumn<bool>("valid"); - QTest::addColumn<bool>("object"); - - QTest::newRow("invalid") << QScriptValue() << QString() << false << false; - QTest::newRow("number") << QScriptValue(-21) << QString::number(-21) << true << false; - QTest::newRow("bool") << QScriptValue(true) << QString::fromAscii("true") << true << false; - QTest::newRow("double") << QScriptValue(21.12) << QString::number(21.12) << true << false; - QTest::newRow("string") << QScriptValue("AlaMaKota") << QString::fromAscii("AlaMaKota") << true << false; - QTest::newRow("object") << engine.evaluate("new Object") << QString::fromAscii("[object Object]") << true << true; - QTest::newRow("null") << QScriptValue(QScriptValue::NullValue)<< QString::fromAscii("null") << true << false; - QTest::newRow("undef") << QScriptValue(QScriptValue::UndefinedValue)<< QString::fromAscii("undefined") << true << false; -} - -void tst_QScriptValue::constructors() -{ - QFETCH(QScriptValue, value); - QFETCH(QString, string); - QFETCH(bool, valid); - QFETCH(bool, object); - - QCOMPARE(value.isValid(), valid); - QCOMPARE(value.toString(), string); - QCOMPARE(value.isObject(), object); -} - -void tst_QScriptValue::call() -{ - QScriptEngine engine; - QScriptValue ping = engine.evaluate("( function() {return 'ping';} )"); - QScriptValue incr = engine.evaluate("( function(i) {return i + 1;} )"); - QScriptValue one(1); - QScriptValue five(5); - QScriptValue result; - - QVERIFY(one.isValid()); - QVERIFY(five.isValid()); - - QVERIFY(ping.isValid()); - QVERIFY(ping.isFunction()); - result = ping.call(); - QVERIFY(result.isValid()); - QCOMPARE(result.toString(), QString::fromUtf8("ping")); - - QVERIFY(incr.isValid()); - QVERIFY(incr.isFunction()); - result = incr.call(QScriptValue(), QScriptValueList() << one); - QVERIFY(result.isValid()); - QCOMPARE(result.toString(), QString("2")); - - QCOMPARE(incr.call(QScriptValue(), QScriptValueList() << five).toString(), QString::fromAscii("6")); - - QVERIFY(incr.call().isValid()); // Exception. -} - -void tst_QScriptValue::getSetPrototype() -{ - QScriptEngine engine; - QScriptValue object = engine.evaluate("new Object()"); - QScriptValue object2 = engine.evaluate("new Object()"); - object2.setPrototype(object); - QCOMPARE(object2.prototype().strictlyEquals(object), true); - - QScriptValue inv; - inv.setPrototype(object); - QCOMPARE(inv.prototype().isValid(), false); - - QScriptEngine otherEngine; - QScriptValue object3 = otherEngine.evaluate("new Object()"); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setPrototype() failed: cannot set a prototype created in a different engine"); - object2.setPrototype(object3); - QCOMPARE(object2.prototype().strictlyEquals(object), true); - - // cyclic prototypes - { - QScriptValue ret = engine.evaluate("o = { }; p = { }; o.__proto__ = p; p.__proto__ = o"); - QCOMPARE(ret.isError(), true); - QCOMPARE(ret.toString(), QLatin1String("Error: cyclic __proto__ value")); - } - { - QScriptValue ret = engine.evaluate("p.__proto__ = { }"); - QCOMPARE(ret.isError(), false); - } - - QScriptValue old = object.prototype(); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setPrototype() failed: cyclic prototype value"); - object.setPrototype(object); - QCOMPARE(object.prototype().strictlyEquals(old), true); - - object2.setPrototype(object); - QTest::ignoreMessage(QtWarningMsg, "QScriptValue::setPrototype() failed: cyclic prototype value"); - object.setPrototype(object2); - QCOMPARE(object.prototype().strictlyEquals(old), true); -} - -void tst_QScriptValue::toObjectSimple() -{ - QScriptEngine eng; - - QScriptValue undefined = eng.undefinedValue(); - QCOMPARE(undefined.toObject().isValid(), false); - QScriptValue null = eng.nullValue(); - QCOMPARE(null.toObject().isValid(), false); - QCOMPARE(QScriptValue().toObject().isValid(), false); - - QScriptValue falskt = QScriptValue(&eng, false); - { - QScriptValue tmp = falskt.toObject(); - QCOMPARE(tmp.isObject(), true); - QCOMPARE(falskt.isObject(), false); - QCOMPARE(tmp.toNumber(), falskt.toNumber()); - } - - QScriptValue sant = QScriptValue(&eng, true); - { - QScriptValue tmp = sant.toObject(); - QCOMPARE(tmp.isObject(), true); - QCOMPARE(sant.isObject(), false); - QCOMPARE(tmp.toNumber(), sant.toNumber()); - } - - QScriptValue number = QScriptValue(&eng, 123.0); - { - QScriptValue tmp = number.toObject(); - QCOMPARE(tmp.isObject(), true); - QCOMPARE(number.isObject(), false); - QCOMPARE(tmp.toNumber(), number.toNumber()); - } - - QScriptValue str = QScriptValue(&eng, QString("ciao")); - { - QScriptValue tmp = str.toObject(); - QCOMPARE(tmp.isObject(), true); - QCOMPARE(str.isObject(), false); - QCOMPARE(tmp.toString(), str.toString()); - } - - - QScriptValue object = eng.evaluate("new Object"); - { - QScriptValue tmp = object.toObject(); - QVERIFY(tmp.strictlyEquals(object)); - QCOMPARE(tmp.isObject(), true); - } - - - // V2 constructors: in this case, you have to use QScriptEngine::toObject() - { - QScriptValue undefined = QScriptValue(QScriptValue::UndefinedValue); - QVERIFY(!undefined.toObject().isValid()); - QVERIFY(!eng.toObject(undefined).isValid()); - QVERIFY(!undefined.engine()); - - QScriptValue null = QScriptValue(QScriptValue::NullValue); - QVERIFY(!null.toObject().isValid()); - QVERIFY(!eng.toObject(null).isValid()); - QVERIFY(!null.engine()); - - QScriptValue falskt = QScriptValue(false); - QVERIFY(!falskt.toObject().isValid()); - QCOMPARE(falskt.isObject(), false); - QVERIFY(!falskt.engine()); - { - QScriptValue tmp = eng.toObject(falskt); - QVERIFY(tmp.isObject()); - QVERIFY(tmp.toBool()); - QVERIFY(!falskt.isObject()); - } - - QScriptValue sant = QScriptValue(true); - QVERIFY(!sant.toObject().isValid()); - QCOMPARE(sant.isObject(), false); - QVERIFY(!sant.engine()); - { - QScriptValue tmp = eng.toObject(sant); - QVERIFY(tmp.isObject()); - QVERIFY(tmp.toBool()); - QVERIFY(!sant.isObject()); - } - - QScriptValue number = QScriptValue(123.0); - QVERIFY(!number.toObject().isValid()); - QVERIFY(!number.engine()); - QCOMPARE(number.isObject(), false); - { - QScriptValue tmp = eng.toObject(number); - QVERIFY(tmp.isObject()); - QCOMPARE(tmp.toInt32(), number.toInt32()); - QVERIFY(!number.isObject()); - } - - QScriptValue str = QScriptValue(QString::fromLatin1("ciao")); - QVERIFY(!str.toObject().isValid()); - QVERIFY(!str.engine()); - QCOMPARE(str.isObject(), false); - { - QScriptValue tmp = eng.toObject(str); - QVERIFY(tmp.isObject()); - QCOMPARE(tmp.toString(), QString::fromLatin1("ciao")); - QVERIFY(!str.isObject()); - } - } -} - -void tst_QScriptValue::setProperty_data() -{ - QTest::addColumn<QScriptValue>("property"); - QTest::addColumn<int>("flag"); - - QTest::newRow("int + keepExistingFlags") << QScriptValue(123456) << static_cast<int>(QScriptValue::KeepExistingFlags); - QTest::newRow("int + undeletable") << QScriptValue(123456) << static_cast<int>(QScriptValue::Undeletable); - QTest::newRow("int + readOnly") << QScriptValue(123456) << static_cast<int>(QScriptValue::ReadOnly); - QTest::newRow("int + readOnly|undeletable") << QScriptValue(123456) << static_cast<int>(QScriptValue::ReadOnly | QScriptValue::Undeletable); - QTest::newRow("int + skipInEnumeration") << QScriptValue(123456) << static_cast<int>(QScriptValue::SkipInEnumeration); - QTest::newRow("int + skipInEnumeration|readOnly") << QScriptValue(123456) << static_cast<int>(QScriptValue::SkipInEnumeration | QScriptValue::ReadOnly); - QTest::newRow("int + skipInEnumeration|undeletable") << QScriptValue(123456) << static_cast<int>(QScriptValue::SkipInEnumeration | QScriptValue::Undeletable); - QTest::newRow("int + skipInEnumeration|readOnly|undeletable") << QScriptValue(123456) << static_cast<int>(QScriptValue::SkipInEnumeration | QScriptValue::ReadOnly | QScriptValue::Undeletable); -} - -void tst_QScriptValue::setProperty() -{ - QFETCH(QScriptValue, property); - QFETCH(int, flag); - QScriptValue::PropertyFlags flags = static_cast<QScriptValue::PropertyFlag>(flag); - - QScriptEngine engine; - QScriptValue object = engine.evaluate("o = new Object; o"); - QScriptValue proto = engine.evaluate("p = new Object; o.__proto__ = p; p"); - engine.evaluate("o.defined1 = 1"); - engine.evaluate("o.defined2 = 1"); - engine.evaluate("o[5] = 1"); - engine.evaluate("p.overloaded1 = 1"); - engine.evaluate("o.overloaded1 = 2"); - engine.evaluate("p[6] = 1"); - engine.evaluate("o[6] = 2"); - engine.evaluate("p.overloaded2 = 1"); - engine.evaluate("o.overloaded2 = 2"); - engine.evaluate("p.overloaded3 = 1"); - engine.evaluate("o.overloaded3 = 2"); - engine.evaluate("p[7] = 1"); - engine.evaluate("o[7] = 2"); - engine.evaluate("p.overloaded4 = 1"); - engine.evaluate("o.overloaded4 = 2"); - - // tries to set undefined property directly on object. - object.setProperty(QString::fromAscii("undefined1"), property, flags); - QVERIFY(engine.evaluate("o.undefined1").strictlyEquals(property)); - object.setProperty(engine.toStringHandle("undefined2"), property, flags); - QVERIFY(object.property("undefined2").strictlyEquals(property)); - object.setProperty(4, property, flags); - QVERIFY(object.property(4).strictlyEquals(property)); - - // tries to set defined property directly on object - object.setProperty("defined1", property, flags); - QVERIFY(engine.evaluate("o.defined1").strictlyEquals(property)); - object.setProperty(engine.toStringHandle("defined2"), property, flags); - QVERIFY(object.property("defined2").strictlyEquals(property)); - object.setProperty(5, property, flags); - QVERIFY(object.property(5).strictlyEquals(property)); - - // tries to set overloaded property directly on object - object.setProperty("overloaded1", property, flags); - QVERIFY(engine.evaluate("o.overloaded1").strictlyEquals(property)); - object.setProperty(engine.toStringHandle("overloaded2"), property, flags); - QVERIFY(object.property("overloaded2").strictlyEquals(property)); - object.setProperty(6, property, flags); - QVERIFY(object.property(6).strictlyEquals(property)); - - // tries to set overloaded property directly on prototype - proto.setProperty("overloaded3", property, flags); - QVERIFY(!engine.evaluate("o.overloaded3").strictlyEquals(property)); - proto.setProperty(engine.toStringHandle("overloaded4"), property, flags); - QVERIFY(!object.property("overloaded4").strictlyEquals(property)); - proto.setProperty(7, property, flags); - QVERIFY(!object.property(7).strictlyEquals(property)); - - // tries to set undefined property directly on prototype - proto.setProperty("undefined3", property, flags); - QVERIFY(engine.evaluate("o.undefined3").strictlyEquals(property)); - proto.setProperty(engine.toStringHandle("undefined4"), property, flags); - QVERIFY(object.property("undefined4").strictlyEquals(property)); - proto.setProperty(8, property, flags); - QVERIFY(object.property(8).strictlyEquals(property)); - - bool readOnly = flags & QScriptValue::ReadOnly; - bool skipInEnumeration = flags & QScriptValue::SkipInEnumeration; - bool undeletable = flags & QScriptValue::Undeletable; - - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(o, '4').writable").toBool()); - QEXPECT_FAIL("int + readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(o, '5').writable").toBool()); - QEXPECT_FAIL("int + readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(o, '6').writable").toBool()); - QEXPECT_FAIL("int + readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(p, '7').writable").toBool()); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(p, '8').writable").toBool()); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'undefined1').writable").toBool()); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'undefined2').writable").toBool()); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(p, 'undefined3').writable").toBool()); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(p, 'undefined4').writable").toBool()); - QEXPECT_FAIL("int + readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'defined1').writable").toBool()); - QEXPECT_FAIL("int + readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'defined2').writable").toBool()); - QVERIFY(engine.evaluate("!Object.getOwnPropertyDescriptor(p, 'undefined1').writable").toBool()); - QVERIFY(engine.evaluate("!Object.getOwnPropertyDescriptor(p, 'undefined1').writable").toBool()); - QEXPECT_FAIL("int + readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(p, 'overloaded3').writable").toBool()); - QEXPECT_FAIL("int + readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(p, 'overloaded4').writable").toBool()); - QEXPECT_FAIL("int + readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'overloaded1').writable").toBool()); - QEXPECT_FAIL("int + readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(readOnly == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'overloaded2').writable").toBool()); - QVERIFY(!engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'overloaded3').writable").toBool()); - QVERIFY(!engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'overloaded4').writable").toBool()); - - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(o, '4').configurable").toBool()); - QEXPECT_FAIL("int + undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(o, '5').configurable").toBool()); - QEXPECT_FAIL("int + undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(o, '6').configurable").toBool()); - QEXPECT_FAIL("int + undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(p, '7').configurable").toBool()); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(p, '8').configurable").toBool()); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'undefined1').configurable").toBool()); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'undefined2').configurable").toBool()); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(p, 'undefined3').configurable").toBool()); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(p, 'undefined4').configurable").toBool()); - QEXPECT_FAIL("int + undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'defined1').configurable").toBool()); - QEXPECT_FAIL("int + undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'defined2').configurable").toBool()); - QEXPECT_FAIL("int + undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'overloaded1').configurable").toBool()); - QEXPECT_FAIL("int + undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(o, 'overloaded2').configurable").toBool()); - QVERIFY(engine.evaluate("Object.getOwnPropertyDescriptor(p, 'overloaded1').configurable").toBool()); - QVERIFY(engine.evaluate("Object.getOwnPropertyDescriptor(p, 'overloaded2').configurable").toBool()); - QVERIFY(engine.evaluate("Object.getOwnPropertyDescriptor(o, 'overloaded3').configurable").toBool()); - QVERIFY(engine.evaluate("Object.getOwnPropertyDescriptor(o, 'overloaded4').configurable").toBool()); - QEXPECT_FAIL("int + undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(p, 'overloaded3').configurable").toBool()); - QEXPECT_FAIL("int + undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(undeletable == engine.evaluate("!Object.getOwnPropertyDescriptor(p, 'overloaded4').configurable").toBool()); - - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(o, '4').enumerable").toBool()); - QEXPECT_FAIL("int + skipInEnumeration", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(o, '5').enumerable").toBool()); - QEXPECT_FAIL("int + skipInEnumeration", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(o, '6').enumerable").toBool()); - QEXPECT_FAIL("int + skipInEnumeration", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(p, '7').enumerable").toBool()); - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(p, '8').enumerable").toBool()); - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(o, 'undefined1').enumerable").toBool()); - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(o, 'undefined2').enumerable").toBool()); - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(p, 'undefined3').enumerable").toBool()); - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(p, 'undefined4').enumerable").toBool()); - QEXPECT_FAIL("int + skipInEnumeration", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(o, 'overloaded1').enumerable").toBool()); - QEXPECT_FAIL("int + skipInEnumeration", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(skipInEnumeration != engine.evaluate("Object.getOwnPropertyDescriptor(o, 'overloaded2').enumerable").toBool()); - QVERIFY(engine.evaluate("p.propertyIsEnumerable('overloaded1')").toBool()); - QVERIFY(engine.evaluate("p.propertyIsEnumerable('overloaded2')").toBool()); - QVERIFY(engine.evaluate("o.propertyIsEnumerable('overloaded3')").toBool()); - QVERIFY(engine.evaluate("o.propertyIsEnumerable('overloaded4')").toBool()); - QEXPECT_FAIL("int + skipInEnumeration", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(skipInEnumeration != engine.evaluate("p.propertyIsEnumerable('overloaded3')").toBool()); - QEXPECT_FAIL("int + skipInEnumeration", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(skipInEnumeration != engine.evaluate("p.propertyIsEnumerable('overloaded4')").toBool()); - QEXPECT_FAIL("int + skipInEnumeration", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(skipInEnumeration != engine.evaluate("o.propertyIsEnumerable('defined1')").toBool()); - QEXPECT_FAIL("int + skipInEnumeration", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QEXPECT_FAIL("int + skipInEnumeration|readOnly|undeletable", "WebKit bug: 40613 (The JSObjectSetProperty doesn't overwrite property flags)", Continue); - QVERIFY(skipInEnumeration != engine.evaluate("o.propertyIsEnumerable('defined2')").toBool()); -} - -void tst_QScriptValue::propertyFlag_data() -{ - QTest::addColumn<QString>("name"); - QTest::addColumn<int>("flag"); - - QTest::newRow("?Cr@jzi!%$") << "?Cr@jzi!%$" << static_cast<int>(0); - QTest::newRow("ReadOnly") << "ReadOnly" << static_cast<int>(QScriptValue::ReadOnly); - QTest::newRow("Undeletable") << "Undeletable" << static_cast<int>(QScriptValue::Undeletable); - QTest::newRow("SkipInEnumeration") << "SkipInEnumeration" << static_cast<int>(QScriptValue::SkipInEnumeration); - QTest::newRow("ReadOnly | Undeletable") << "ReadOnly_Undeletable" << static_cast<int>(QScriptValue::ReadOnly | QScriptValue::Undeletable); - QTest::newRow("ReadOnly | SkipInEnumeration") << "ReadOnly_SkipInEnumeration" << static_cast<int>(QScriptValue::ReadOnly | QScriptValue::SkipInEnumeration); - QTest::newRow("Undeletable | SkipInEnumeration") << "Undeletable_SkipInEnumeration" << static_cast<int>(QScriptValue::Undeletable | QScriptValue::SkipInEnumeration); - QTest::newRow("ReadOnly | Undeletable | SkipInEnumeration") << "ReadOnly_Undeletable_SkipInEnumeration" << static_cast<int>(QScriptValue::ReadOnly | QScriptValue::Undeletable | QScriptValue::SkipInEnumeration); -} - -void tst_QScriptValue::propertyFlag() -{ - QScriptEngine engine; - QFETCH(QString, name); - QFETCH(int, flag); - const QScriptString nameHandle = engine.toStringHandle(name); - const QString protoName = "proto" + name; - const QScriptString protoNameHandle = engine.toStringHandle(protoName); - - QScriptValue proto = engine.newObject(); - QScriptValue object = engine.newObject(); - object.setPrototype(proto); - - proto.setProperty(protoName, QScriptValue(124816), QScriptValue::PropertyFlag(flag)); - object.setProperty(name, QScriptValue(124816), QScriptValue::PropertyFlag(flag)); - - // Check using QString name - QCOMPARE(object.propertyFlags(name), QScriptValue::PropertyFlag(flag)); - QCOMPARE(object.propertyFlags(protoName, QScriptValue::ResolvePrototype), QScriptValue::PropertyFlag(flag)); - QVERIFY(!object.propertyFlags(protoName, QScriptValue::ResolveLocal)); - - // Check using QScriptString name - QCOMPARE(object.propertyFlags(nameHandle), QScriptValue::PropertyFlag(flag)); - QCOMPARE(object.propertyFlags(protoNameHandle, QScriptValue::ResolvePrototype), QScriptValue::PropertyFlag(flag)); - QVERIFY(!object.propertyFlags(protoNameHandle, QScriptValue::ResolveLocal)); -} - -void tst_QScriptValue::globalObjectChanges() -{ - // API functionality shouldn't depend on Global Object. - QScriptEngine engine; - QScriptValue array = engine.newArray(); - QScriptValue error = engine.evaluate("new Error"); - QScriptValue object = engine.newObject(); - - object.setProperty("foo", 512); - - // Remove properties form global object. - engine.evaluate("delete Object; delete Error; delete Array;"); - - QVERIFY(array.isArray()); - QVERIFY(error.isError()); - QVERIFY(object.isObject()); - - QVERIFY(object.property("foo").isValid()); - QVERIFY(object.property("foo", QScriptValue::ResolveLocal).isValid()); - object.setProperty("foo", QScriptValue()); - QVERIFY(!object.property("foo").isValid()); - QVERIFY(!object.property("foo", QScriptValue::ResolveLocal).isValid()); -} - -void tst_QScriptValue::assignAndCopyConstruct_data() -{ - QTest::addColumn<QScriptValue>("value"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine; - // Copy & assign code is the same for all types, so it is enough to check only a few value. - for (unsigned i = 0; i < 10; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second; - } -} - -void tst_QScriptValue::assignAndCopyConstruct() -{ - QFETCH(QScriptValue, value); - QScriptValue copy(value); - QEXPECT_FAIL("QScriptValue(QScriptValue::NullValue)", "FIXME: WebKit bug 43038", Abort); - QEXPECT_FAIL("QScriptValue(QScriptValue::UndefinedValue)", "FIXME: WebKit bug 43038", Abort); - QCOMPARE(copy.strictlyEquals(value), !value.isNumber() || !qIsNaN(value.toNumber())); - QCOMPARE(copy.engine(), value.engine()); - - QScriptValue assigned = copy; - QCOMPARE(assigned.strictlyEquals(value), !copy.isNumber() || !qIsNaN(copy.toNumber())); - QCOMPARE(assigned.engine(), assigned.engine()); - - QScriptValue other(!value.toBool()); - assigned = other; - QVERIFY(!assigned.strictlyEquals(copy)); - QVERIFY(assigned.strictlyEquals(other)); - QCOMPARE(assigned.engine(), other.engine()); -} - -QTEST_MAIN(tst_QScriptValue) diff --git a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h b/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h deleted file mode 100644 index 7b7d9bc..0000000 --- a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h +++ /dev/null @@ -1,143 +0,0 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef tst_qscriptvalue_h -#define tst_qscriptvalue_h - -#include "qscriptengine.h" -#include "qscriptvalue.h" -#include <QtCore/qnumeric.h> -#include <QtTest/qtest.h> - -#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr) - -Q_DECLARE_METATYPE(QScriptValue*); -Q_DECLARE_METATYPE(QScriptValue); -typedef QPair<QString, QScriptValue> QPairQStringAndQScriptValue; -Q_DECLARE_METATYPE(QPairQStringAndQScriptValue); - -class tst_QScriptValue : public QObject { - Q_OBJECT - -public: - tst_QScriptValue(); - virtual ~tst_QScriptValue(); - -private slots: - void toStringSimple_data(); - void toStringSimple(); - void copyConstructor_data(); - void copyConstructor(); - void assignOperator_data(); - void assignOperator(); - void dataSharing(); - void constructors_data(); - void constructors(); - void getSetPrototype(); - void call(); - void ctor(); - void toObjectSimple(); - void getPropertySimple_data(); - void getPropertySimple(); - void setPropertySimple(); - void setProperty_data(); - void setProperty(); - void getSetProperty(); - void getPropertyResolveFlag(); - void propertyFlag_data(); - void propertyFlag(); - void globalObjectChanges(); - void assignAndCopyConstruct_data(); - void assignAndCopyConstruct(); - - // Generated test functions. - void isArray_data(); - void isArray(); - - void isBool_data(); - void isBool(); - - void isBoolean_data(); - void isBoolean(); - - void isError_data(); - void isError(); - - void isNumber_data(); - void isNumber(); - - void isFunction_data(); - void isFunction(); - - void isNull_data(); - void isNull(); - - void isObject_data(); - void isObject(); - - void isString_data(); - void isString(); - - void isUndefined_data(); - void isUndefined(); - - void isValid_data(); - void isValid(); - - void toString_data(); - void toString(); - - void toNumber_data(); - void toNumber(); - - void toBool_data(); - void toBool(); - - void toBoolean_data(); - void toBoolean(); - - void toInteger_data(); - void toInteger(); - - void toInt32_data(); - void toInt32(); - - void toUInt32_data(); - void toUInt32(); - - void toUInt16_data(); - void toUInt16(); - - void equals_data(); - void equals(); - - void strictlyEquals_data(); - void strictlyEquals(); - - void instanceOf_data(); - void instanceOf(); - -private: - // Generated function - QPair<QString, QScriptValue> initScriptValues(uint idx); - - QScriptEngine* m_engine; -}; - -#endif // tst_qscriptvalue_h diff --git a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp b/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp deleted file mode 100644 index 3209530..0000000 --- a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_comparison.cpp +++ /dev/null @@ -1,1799 +0,0 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -/**************************************************************************** -*************** This file has been generated. DO NOT MODIFY! **************** -****************************************************************************/ - -#include "tst_qscriptvalue.h" - -static const QString equals_array[] = { - "QScriptValue() <=> QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->nullValue()", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(QScriptValue::NullValue) <=> engine->undefinedValue()", - "QScriptValue(true) <=> QScriptValue(true)", - "QScriptValue(true) <=> QScriptValue(0, true)", - "QScriptValue(true) <=> QScriptValue(engine, true)", - "QScriptValue(true) <=> engine->evaluate(\"true\")", - "QScriptValue(false) <=> QScriptValue(false)", - "QScriptValue(false) <=> QScriptValue(0)", - "QScriptValue(false) <=> QScriptValue(0.0)", - "QScriptValue(false) <=> QScriptValue(QString(\"\"))", - "QScriptValue(false) <=> QScriptValue(QString())", - "QScriptValue(false) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(false) <=> QScriptValue(0, false)", - "QScriptValue(false) <=> QScriptValue(0, 0)", - "QScriptValue(false) <=> QScriptValue(0, 0.0)", - "QScriptValue(false) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(false) <=> QScriptValue(0, QString())", - "QScriptValue(false) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(false) <=> QScriptValue(engine, false)", - "QScriptValue(false) <=> QScriptValue(engine, 0)", - "QScriptValue(false) <=> QScriptValue(engine, 0.0)", - "QScriptValue(false) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(false) <=> QScriptValue(engine, QString())", - "QScriptValue(false) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(false) <=> engine->evaluate(\"[]\")", - "QScriptValue(false) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(false) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(false) <=> engine->evaluate(\"false\")", - "QScriptValue(false) <=> engine->evaluate(\"0\")", - "QScriptValue(false) <=> engine->evaluate(\"0.0\")", - "QScriptValue(false) <=> engine->evaluate(\"''\")", - "QScriptValue(false) <=> engine->evaluate(\"'0'\")", - "QScriptValue(false) <=> engine->newArray()", - "QScriptValue(int(122)) <=> QScriptValue(int(122))", - "QScriptValue(int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(0) <=> QScriptValue(false)", - "QScriptValue(0) <=> QScriptValue(0)", - "QScriptValue(0) <=> QScriptValue(0.0)", - "QScriptValue(0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0) <=> QScriptValue(QString())", - "QScriptValue(0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0) <=> QScriptValue(0, false)", - "QScriptValue(0) <=> QScriptValue(0, 0)", - "QScriptValue(0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0) <=> QScriptValue(0, QString())", - "QScriptValue(0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0) <=> QScriptValue(engine, false)", - "QScriptValue(0) <=> QScriptValue(engine, 0)", - "QScriptValue(0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0) <=> QScriptValue(engine, QString())", - "QScriptValue(0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0) <=> engine->evaluate(\"[]\")", - "QScriptValue(0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0) <=> engine->evaluate(\"false\")", - "QScriptValue(0) <=> engine->evaluate(\"0\")", - "QScriptValue(0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0) <=> engine->evaluate(\"''\")", - "QScriptValue(0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0) <=> engine->newArray()", - "QScriptValue(0.0) <=> QScriptValue(false)", - "QScriptValue(0.0) <=> QScriptValue(0)", - "QScriptValue(0.0) <=> QScriptValue(0.0)", - "QScriptValue(0.0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0.0) <=> QScriptValue(QString())", - "QScriptValue(0.0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0.0) <=> QScriptValue(0, false)", - "QScriptValue(0.0) <=> QScriptValue(0, 0)", - "QScriptValue(0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0.0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0.0) <=> QScriptValue(0, QString())", - "QScriptValue(0.0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0.0) <=> QScriptValue(engine, false)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0.0) <=> QScriptValue(engine, QString())", - "QScriptValue(0.0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0.0) <=> engine->evaluate(\"[]\")", - "QScriptValue(0.0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0.0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0.0) <=> engine->evaluate(\"false\")", - "QScriptValue(0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0.0) <=> engine->evaluate(\"''\")", - "QScriptValue(0.0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0.0) <=> engine->newArray()", - "QScriptValue(123.0) <=> QScriptValue(123.0)", - "QScriptValue(123.0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(123.0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(123.0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(123.0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(qInf()) <=> QScriptValue(qInf())", - "QScriptValue(qInf()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(qInf()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(qInf()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(-qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(qInf())", - "QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(0, qInf())", - "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(engine, qInf())", - "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(\"Infinity\") <=> engine->evaluate(\"Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(-qInf())", - "QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, -qInf())", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -qInf())", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(false)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0.0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, false)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, false)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"[]\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"false\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(QString(\"\")) <=> engine->newArray()", - "QScriptValue(QString()) <=> QScriptValue(false)", - "QScriptValue(QString()) <=> QScriptValue(0)", - "QScriptValue(QString()) <=> QScriptValue(0.0)", - "QScriptValue(QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(QString())", - "QScriptValue(QString()) <=> QScriptValue(0, false)", - "QScriptValue(QString()) <=> QScriptValue(0, 0)", - "QScriptValue(QString()) <=> QScriptValue(0, 0.0)", - "QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(0, QString())", - "QScriptValue(QString()) <=> QScriptValue(engine, false)", - "QScriptValue(QString()) <=> QScriptValue(engine, 0)", - "QScriptValue(QString()) <=> QScriptValue(engine, 0.0)", - "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(QString()) <=> engine->evaluate(\"[]\")", - "QScriptValue(QString()) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(QString()) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(QString()) <=> engine->evaluate(\"false\")", - "QScriptValue(QString()) <=> engine->evaluate(\"0\")", - "QScriptValue(QString()) <=> engine->evaluate(\"0.0\")", - "QScriptValue(QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(QString()) <=> engine->newArray()", - "QScriptValue(QString(\"0\")) <=> QScriptValue(false)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0.0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, false)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, false)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"false\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(123.0)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->nullValue()", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->undefinedValue()", - "QScriptValue(0, true) <=> QScriptValue(true)", - "QScriptValue(0, true) <=> QScriptValue(0, true)", - "QScriptValue(0, true) <=> QScriptValue(engine, true)", - "QScriptValue(0, true) <=> engine->evaluate(\"true\")", - "QScriptValue(0, false) <=> QScriptValue(false)", - "QScriptValue(0, false) <=> QScriptValue(0)", - "QScriptValue(0, false) <=> QScriptValue(0.0)", - "QScriptValue(0, false) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, false) <=> QScriptValue(QString())", - "QScriptValue(0, false) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, false) <=> QScriptValue(0, false)", - "QScriptValue(0, false) <=> QScriptValue(0, 0)", - "QScriptValue(0, false) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, false) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, false) <=> QScriptValue(0, QString())", - "QScriptValue(0, false) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, false) <=> QScriptValue(engine, false)", - "QScriptValue(0, false) <=> QScriptValue(engine, 0)", - "QScriptValue(0, false) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, false) <=> QScriptValue(engine, QString())", - "QScriptValue(0, false) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, false) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, false) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, false) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, false) <=> engine->evaluate(\"false\")", - "QScriptValue(0, false) <=> engine->evaluate(\"0\")", - "QScriptValue(0, false) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, false) <=> engine->evaluate(\"''\")", - "QScriptValue(0, false) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, false) <=> engine->newArray()", - "QScriptValue(0, int(122)) <=> QScriptValue(int(122))", - "QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(0, 0) <=> QScriptValue(false)", - "QScriptValue(0, 0) <=> QScriptValue(0)", - "QScriptValue(0, 0) <=> QScriptValue(0.0)", - "QScriptValue(0, 0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, 0) <=> QScriptValue(QString())", - "QScriptValue(0, 0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, 0) <=> QScriptValue(0, false)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, 0) <=> QScriptValue(0, QString())", - "QScriptValue(0, 0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, 0) <=> QScriptValue(engine, false)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, 0) <=> QScriptValue(engine, QString())", - "QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, 0) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"false\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"0\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"''\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, 0) <=> engine->newArray()", - "QScriptValue(0, 0.0) <=> QScriptValue(false)", - "QScriptValue(0, 0.0) <=> QScriptValue(0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(QString())", - "QScriptValue(0, 0.0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(0, false)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(0, QString())", - "QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, false)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString())", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"false\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"''\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, 0.0) <=> engine->newArray()", - "QScriptValue(0, 123.0) <=> QScriptValue(123.0)", - "QScriptValue(0, 123.0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, 123.0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, qInf()) <=> QScriptValue(qInf())", - "QScriptValue(0, qInf()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(0, qInf()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, qInf()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(qInf())", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, qInf())", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, qInf())", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(-qInf())", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -qInf())", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -qInf())", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(false)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0.0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, false)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, false)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"false\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(0, QString(\"\")) <=> engine->newArray()", - "QScriptValue(0, QString()) <=> QScriptValue(false)", - "QScriptValue(0, QString()) <=> QScriptValue(0)", - "QScriptValue(0, QString()) <=> QScriptValue(0.0)", - "QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(QString())", - "QScriptValue(0, QString()) <=> QScriptValue(0, false)", - "QScriptValue(0, QString()) <=> QScriptValue(0, 0)", - "QScriptValue(0, QString()) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString())", - "QScriptValue(0, QString()) <=> QScriptValue(engine, false)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, 0)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(0, QString()) <=> engine->evaluate(\"[]\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"false\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"0\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(0, QString()) <=> engine->newArray()", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(false)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0.0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, false)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, false)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"false\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(123.0)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"null\")", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->nullValue()", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->undefinedValue()", - "QScriptValue(engine, true) <=> QScriptValue(true)", - "QScriptValue(engine, true) <=> QScriptValue(0, true)", - "QScriptValue(engine, true) <=> QScriptValue(engine, true)", - "QScriptValue(engine, true) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, false) <=> QScriptValue(false)", - "QScriptValue(engine, false) <=> QScriptValue(0)", - "QScriptValue(engine, false) <=> QScriptValue(0.0)", - "QScriptValue(engine, false) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, false) <=> QScriptValue(QString())", - "QScriptValue(engine, false) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, false) <=> QScriptValue(0, false)", - "QScriptValue(engine, false) <=> QScriptValue(0, 0)", - "QScriptValue(engine, false) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, false) <=> QScriptValue(0, QString())", - "QScriptValue(engine, false) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, false) <=> QScriptValue(engine, false)", - "QScriptValue(engine, false) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, false) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, false) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, false) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, false) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, false) <=> engine->newArray()", - "QScriptValue(engine, int(122)) <=> QScriptValue(int(122))", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, 0) <=> QScriptValue(false)", - "QScriptValue(engine, 0) <=> QScriptValue(0)", - "QScriptValue(engine, 0) <=> QScriptValue(0.0)", - "QScriptValue(engine, 0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, 0) <=> QScriptValue(QString())", - "QScriptValue(engine, 0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, 0) <=> QScriptValue(0, false)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, 0) <=> QScriptValue(0, QString())", - "QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, 0) <=> QScriptValue(engine, false)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, 0) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, 0) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, 0) <=> engine->newArray()", - "QScriptValue(engine, 0.0) <=> QScriptValue(false)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(QString())", - "QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, false)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString())", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, false)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, 0.0) <=> engine->newArray()", - "QScriptValue(engine, 123.0) <=> QScriptValue(123.0)", - "QScriptValue(engine, 123.0) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, qInf()) <=> QScriptValue(qInf())", - "QScriptValue(engine, qInf()) <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, qInf()) <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, qInf()) <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(\"-Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(qInf())", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, qInf())", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-qInf())", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -qInf())", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(false)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0.0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, false)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, false)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, QString(\"\")) <=> engine->newArray()", - "QScriptValue(engine, QString()) <=> QScriptValue(false)", - "QScriptValue(engine, QString()) <=> QScriptValue(0)", - "QScriptValue(engine, QString()) <=> QScriptValue(0.0)", - "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(QString())", - "QScriptValue(engine, QString()) <=> QScriptValue(0, false)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, 0)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString())", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, false)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"[]\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"Array.prototype\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"new Array()\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, QString()) <=> engine->newArray()", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(false)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0.0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, false)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, false)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(123.0)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(false)", - "engine->evaluate(\"[]\") <=> QScriptValue(0)", - "engine->evaluate(\"[]\") <=> QScriptValue(0.0)", - "engine->evaluate(\"[]\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(QString())", - "engine->evaluate(\"[]\") <=> QScriptValue(0, false)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"[]\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::NullValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")", - "engine->evaluate(\"{}\") <=> engine->evaluate(\"undefined\")", - "engine->evaluate(\"{}\") <=> engine->evaluate(\"null\")", - "engine->evaluate(\"{}\") <=> engine->nullValue()", - "engine->evaluate(\"{}\") <=> engine->undefinedValue()", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(false)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0.0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString())", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, false)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"new Array()\") <=> QScriptValue(false)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0.0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(QString())", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, false)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::NullValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"undefined\") <=> engine->evaluate(\"{}\")", - "engine->evaluate(\"undefined\") <=> engine->evaluate(\"undefined\")", - "engine->evaluate(\"undefined\") <=> engine->evaluate(\"null\")", - "engine->evaluate(\"undefined\") <=> engine->nullValue()", - "engine->evaluate(\"undefined\") <=> engine->undefinedValue()", - "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> engine->evaluate(\"{}\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\") <=> engine->evaluate(\"null\")", - "engine->evaluate(\"null\") <=> engine->nullValue()", - "engine->evaluate(\"null\") <=> engine->undefinedValue()", - "engine->evaluate(\"true\") <=> QScriptValue(true)", - "engine->evaluate(\"true\") <=> QScriptValue(0, true)", - "engine->evaluate(\"true\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"true\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"false\") <=> QScriptValue(false)", - "engine->evaluate(\"false\") <=> QScriptValue(0)", - "engine->evaluate(\"false\") <=> QScriptValue(0.0)", - "engine->evaluate(\"false\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"false\") <=> QScriptValue(QString())", - "engine->evaluate(\"false\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"false\") <=> QScriptValue(0, false)", - "engine->evaluate(\"false\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"false\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"false\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"false\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"false\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"false\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"false\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"false\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"false\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"false\") <=> engine->newArray()", - "engine->evaluate(\"122\") <=> QScriptValue(int(122))", - "engine->evaluate(\"122\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"122\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"122\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"124\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"124\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"124\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"124\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"0\") <=> QScriptValue(false)", - "engine->evaluate(\"0\") <=> QScriptValue(0)", - "engine->evaluate(\"0\") <=> QScriptValue(0.0)", - "engine->evaluate(\"0\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"0\") <=> QScriptValue(QString())", - "engine->evaluate(\"0\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"0\") <=> QScriptValue(0, false)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"0\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"0\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"0\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"0\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"0\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"0\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"0\") <=> engine->newArray()", - "engine->evaluate(\"0.0\") <=> QScriptValue(false)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(QString())", - "engine->evaluate(\"0.0\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, false)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"0.0\") <=> engine->newArray()", - "engine->evaluate(\"123.0\") <=> QScriptValue(123.0)", - "engine->evaluate(\"123.0\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(-6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, -6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, -6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"Infinity\") <=> QScriptValue(qInf())", - "engine->evaluate(\"Infinity\") <=> QScriptValue(\"Infinity\")", - "engine->evaluate(\"Infinity\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "engine->evaluate(\"Infinity\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(-qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\") <=> QScriptValue(false)", - "engine->evaluate(\"''\") <=> QScriptValue(0)", - "engine->evaluate(\"''\") <=> QScriptValue(0.0)", - "engine->evaluate(\"''\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(QString())", - "engine->evaluate(\"''\") <=> QScriptValue(0, false)", - "engine->evaluate(\"''\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"''\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"''\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"''\") <=> engine->evaluate(\"[]\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"new Array()\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"''\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"''\") <=> engine->newArray()", - "engine->evaluate(\"'0'\") <=> QScriptValue(false)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0.0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, false)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(123.0)", - "engine->evaluate(\"'123'\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'12.4'\")", - "engine->nullValue() <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)", - "engine->nullValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->nullValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->nullValue() <=> engine->evaluate(\"{}\")", - "engine->nullValue() <=> engine->evaluate(\"undefined\")", - "engine->nullValue() <=> engine->evaluate(\"null\")", - "engine->nullValue() <=> engine->nullValue()", - "engine->nullValue() <=> engine->undefinedValue()", - "engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> QScriptValue(QScriptValue::NullValue)", - "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->undefinedValue() <=> engine->evaluate(\"{}\")", - "engine->undefinedValue() <=> engine->evaluate(\"undefined\")", - "engine->undefinedValue() <=> engine->evaluate(\"null\")", - "engine->undefinedValue() <=> engine->nullValue()", - "engine->undefinedValue() <=> engine->undefinedValue()", - "engine->newArray() <=> QScriptValue(false)", - "engine->newArray() <=> QScriptValue(0)", - "engine->newArray() <=> QScriptValue(0.0)", - "engine->newArray() <=> QScriptValue(QString(\"\"))", - "engine->newArray() <=> QScriptValue(QString())", - "engine->newArray() <=> QScriptValue(0, false)", - "engine->newArray() <=> QScriptValue(0, 0)", - "engine->newArray() <=> QScriptValue(0, 0.0)", - "engine->newArray() <=> QScriptValue(0, QString(\"\"))", - "engine->newArray() <=> QScriptValue(0, QString())", - "engine->newArray() <=> QScriptValue(engine, false)", - "engine->newArray() <=> QScriptValue(engine, 0)", - "engine->newArray() <=> QScriptValue(engine, 0.0)", - "engine->newArray() <=> QScriptValue(engine, QString(\"\"))", - "engine->newArray() <=> QScriptValue(engine, QString())", - "engine->newArray() <=> engine->evaluate(\"false\")", - "engine->newArray() <=> engine->evaluate(\"0\")", - "engine->newArray() <=> engine->evaluate(\"0.0\")", - "engine->newArray() <=> engine->evaluate(\"''\")"}; - -void tst_QScriptValue::equals_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<QScriptValue>("other"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> equals; - equals.reserve(1111); - for (unsigned i = 0; i < 1111; ++i) - equals.insert(equals_array[i]); - for (unsigned i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> value1 = initScriptValues(i); - for (unsigned j = 0; j < 135; ++j) { - QPair<QString, QScriptValue> value2 = initScriptValues(j); - QString tag = QString::fromLatin1("%20 <=> %21").arg(value1.first, value2.first); - QTest::newRow(tag.toAscii().constData()) << value1.second << value2.second << equals.contains(tag); } - } -} - -void tst_QScriptValue::equals() -{ - QFETCH(QScriptValue, value); - QFETCH(QScriptValue, other); - QFETCH(bool, expected); - QEXPECT_FAIL("QScriptValue(qInf()) <=> QScriptValue(\"-Infinity\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(qInf()) <=> QScriptValue(0, \"-Infinity\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(-qInf()) <=> QScriptValue(\"-Infinity\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(-qInf()) <=> QScriptValue(0, \"-Infinity\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(\"-Infinity\") <=> QScriptValue(qInf())", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(\"-Infinity\") <=> QScriptValue(-qInf())", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(\"-Infinity\") <=> QScriptValue(0, qInf())", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(\"-Infinity\") <=> QScriptValue(0, -qInf())", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, qInf()) <=> QScriptValue(\"-Infinity\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, qInf()) <=> QScriptValue(0, \"-Infinity\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, -qInf()) <=> QScriptValue(\"-Infinity\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, -qInf()) <=> QScriptValue(0, \"-Infinity\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, \"-Infinity\") <=> QScriptValue(qInf())", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, \"-Infinity\") <=> QScriptValue(-qInf())", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, qInf())", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -qInf())", "FIXME: WebKit bug 43038", Continue); - QCOMPARE(value.equals(other), expected); -} - -static const QString strictlyEquals_array[] = { - "QScriptValue() <=> QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(true) <=> QScriptValue(true)", - "QScriptValue(true) <=> QScriptValue(0, true)", - "QScriptValue(true) <=> QScriptValue(engine, true)", - "QScriptValue(true) <=> engine->evaluate(\"true\")", - "QScriptValue(false) <=> QScriptValue(false)", - "QScriptValue(false) <=> QScriptValue(0, false)", - "QScriptValue(false) <=> QScriptValue(engine, false)", - "QScriptValue(false) <=> engine->evaluate(\"false\")", - "QScriptValue(int(122)) <=> QScriptValue(int(122))", - "QScriptValue(int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(0) <=> QScriptValue(0)", - "QScriptValue(0) <=> QScriptValue(0.0)", - "QScriptValue(0) <=> QScriptValue(0, 0)", - "QScriptValue(0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0) <=> QScriptValue(engine, 0)", - "QScriptValue(0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0) <=> engine->evaluate(\"0\")", - "QScriptValue(0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0.0) <=> QScriptValue(0)", - "QScriptValue(0.0) <=> QScriptValue(0.0)", - "QScriptValue(0.0) <=> QScriptValue(0, 0)", - "QScriptValue(0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(123.0) <=> QScriptValue(123.0)", - "QScriptValue(123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(-6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(qInf()) <=> QScriptValue(qInf())", - "QScriptValue(qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(-qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(-qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(\"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(QString())", - "QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(0, QString())", - "QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))", - "QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"'12.4'\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(0, true) <=> QScriptValue(true)", - "QScriptValue(0, true) <=> QScriptValue(0, true)", - "QScriptValue(0, true) <=> QScriptValue(engine, true)", - "QScriptValue(0, true) <=> engine->evaluate(\"true\")", - "QScriptValue(0, false) <=> QScriptValue(false)", - "QScriptValue(0, false) <=> QScriptValue(0, false)", - "QScriptValue(0, false) <=> QScriptValue(engine, false)", - "QScriptValue(0, false) <=> engine->evaluate(\"false\")", - "QScriptValue(0, int(122)) <=> QScriptValue(int(122))", - "QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(0, int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(0, uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(0, 0) <=> QScriptValue(0)", - "QScriptValue(0, 0) <=> QScriptValue(0.0)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0)", - "QScriptValue(0, 0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0)", - "QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, 0) <=> engine->evaluate(\"0\")", - "QScriptValue(0, 0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, 0.0) <=> QScriptValue(0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0)", - "QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(0, 0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(0, 123.0) <=> QScriptValue(123.0)", - "QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(0, 123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(0, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(0, 0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(0, 0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(0, 0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(0, qInf()) <=> QScriptValue(qInf())", - "QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(0, qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(0, -qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, \"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(QString())", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(0, QString())", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(0, QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(0, QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", - "QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", - "QScriptValue(engine, QScriptValue::NullValue) <=> engine->nullValue()", - "QScriptValue(engine, true) <=> QScriptValue(true)", - "QScriptValue(engine, true) <=> QScriptValue(0, true)", - "QScriptValue(engine, true) <=> QScriptValue(engine, true)", - "QScriptValue(engine, true) <=> engine->evaluate(\"true\")", - "QScriptValue(engine, false) <=> QScriptValue(false)", - "QScriptValue(engine, false) <=> QScriptValue(0, false)", - "QScriptValue(engine, false) <=> QScriptValue(engine, false)", - "QScriptValue(engine, false) <=> engine->evaluate(\"false\")", - "QScriptValue(engine, int(122)) <=> QScriptValue(int(122))", - "QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))", - "QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))", - "QScriptValue(engine, int(122)) <=> engine->evaluate(\"122\")", - "QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))", - "QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))", - "QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))", - "QScriptValue(engine, uint(124)) <=> engine->evaluate(\"124\")", - "QScriptValue(engine, 0) <=> QScriptValue(0)", - "QScriptValue(engine, 0) <=> QScriptValue(0.0)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0)", - "QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, 0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, 0.0) <=> QScriptValue(0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0\")", - "QScriptValue(engine, 0.0) <=> engine->evaluate(\"0.0\")", - "QScriptValue(engine, 123.0) <=> QScriptValue(123.0)", - "QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)", - "QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)", - "QScriptValue(engine, 123.0) <=> engine->evaluate(\"123.0\")", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, 6.37e-8) <=> engine->evaluate(\"6.37e-8\")", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"-6.37e-8\")", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)", - "QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x43211234) <=> engine->evaluate(\"0x43211234\")", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)", - "QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10000) <=> engine->evaluate(\"0x10000\")", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)", - "QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)", - "QScriptValue(engine, 0x10001) <=> engine->evaluate(\"0x10001\")", - "QScriptValue(engine, qInf()) <=> QScriptValue(qInf())", - "QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())", - "QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())", - "QScriptValue(engine, qInf()) <=> engine->evaluate(\"Infinity\")", - "QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())", - "QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())", - "QScriptValue(engine, -qInf()) <=> engine->evaluate(\"-Infinity\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")", - "QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")", - "QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")", - "QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"'ciao'\")", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(QString())", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(0, QString())", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())", - "QScriptValue(engine, QString()) <=> engine->evaluate(\"''\")", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"'0'\")", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"'123'\")", - "QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")", - "engine->evaluate(\"{}\") <=> engine->evaluate(\"undefined\")", - "engine->evaluate(\"{}\") <=> engine->undefinedValue()", - "engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\") <=> engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"undefined\") <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"undefined\") <=> engine->evaluate(\"{}\")", - "engine->evaluate(\"undefined\") <=> engine->evaluate(\"undefined\")", - "engine->evaluate(\"undefined\") <=> engine->undefinedValue()", - "engine->evaluate(\"null\") <=> QScriptValue(QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"null\") <=> engine->evaluate(\"null\")", - "engine->evaluate(\"null\") <=> engine->nullValue()", - "engine->evaluate(\"true\") <=> QScriptValue(true)", - "engine->evaluate(\"true\") <=> QScriptValue(0, true)", - "engine->evaluate(\"true\") <=> QScriptValue(engine, true)", - "engine->evaluate(\"true\") <=> engine->evaluate(\"true\")", - "engine->evaluate(\"false\") <=> QScriptValue(false)", - "engine->evaluate(\"false\") <=> QScriptValue(0, false)", - "engine->evaluate(\"false\") <=> QScriptValue(engine, false)", - "engine->evaluate(\"false\") <=> engine->evaluate(\"false\")", - "engine->evaluate(\"122\") <=> QScriptValue(int(122))", - "engine->evaluate(\"122\") <=> QScriptValue(0, int(122))", - "engine->evaluate(\"122\") <=> QScriptValue(engine, int(122))", - "engine->evaluate(\"122\") <=> engine->evaluate(\"122\")", - "engine->evaluate(\"124\") <=> QScriptValue(uint(124))", - "engine->evaluate(\"124\") <=> QScriptValue(0, uint(124))", - "engine->evaluate(\"124\") <=> QScriptValue(engine, uint(124))", - "engine->evaluate(\"124\") <=> engine->evaluate(\"124\")", - "engine->evaluate(\"0\") <=> QScriptValue(0)", - "engine->evaluate(\"0\") <=> QScriptValue(0.0)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"0\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"0\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"0\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"0.0\") <=> QScriptValue(0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(0, 0.0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0)", - "engine->evaluate(\"0.0\") <=> QScriptValue(engine, 0.0)", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\") <=> engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\") <=> QScriptValue(123.0)", - "engine->evaluate(\"123.0\") <=> QScriptValue(0, 123.0)", - "engine->evaluate(\"123.0\") <=> QScriptValue(engine, 123.0)", - "engine->evaluate(\"123.0\") <=> engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(0, 6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> QScriptValue(engine, 6.37e-8)", - "engine->evaluate(\"6.37e-8\") <=> engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(-6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(0, -6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> QScriptValue(engine, -6.37e-8)", - "engine->evaluate(\"-6.37e-8\") <=> engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(0x43211234)", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(0, 0x43211234)", - "engine->evaluate(\"0x43211234\") <=> QScriptValue(engine, 0x43211234)", - "engine->evaluate(\"0x43211234\") <=> engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0x10000)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(0, 0x10000)", - "engine->evaluate(\"0x10000\") <=> QScriptValue(engine, 0x10000)", - "engine->evaluate(\"0x10000\") <=> engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0x10001)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(0, 0x10001)", - "engine->evaluate(\"0x10001\") <=> QScriptValue(engine, 0x10001)", - "engine->evaluate(\"0x10001\") <=> engine->evaluate(\"0x10001\")", - "engine->evaluate(\"Infinity\") <=> QScriptValue(qInf())", - "engine->evaluate(\"Infinity\") <=> QScriptValue(0, qInf())", - "engine->evaluate(\"Infinity\") <=> QScriptValue(engine, qInf())", - "engine->evaluate(\"Infinity\") <=> engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(-qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(0, -qInf())", - "engine->evaluate(\"-Infinity\") <=> QScriptValue(engine, -qInf())", - "engine->evaluate(\"-Infinity\") <=> engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(\"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, \"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, \"ciao\")", - "engine->evaluate(\"'ciao'\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "engine->evaluate(\"'ciao'\") <=> engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\") <=> QScriptValue(QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(QString())", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(0, QString())", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString(\"\"))", - "engine->evaluate(\"''\") <=> QScriptValue(engine, QString())", - "engine->evaluate(\"''\") <=> engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\") <=> QScriptValue(QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(0, QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> QScriptValue(engine, QString(\"0\"))", - "engine->evaluate(\"'0'\") <=> engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\") <=> QScriptValue(QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> QScriptValue(0, QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> QScriptValue(engine, QString(\"123\"))", - "engine->evaluate(\"'123'\") <=> engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\") <=> QScriptValue(QString(\"12.4\"))", - "engine->evaluate(\"'12.4'\") <=> engine->evaluate(\"'12.4'\")", - "engine->nullValue() <=> QScriptValue(QScriptValue::NullValue)", - "engine->nullValue() <=> QScriptValue(0, QScriptValue::NullValue)", - "engine->nullValue() <=> QScriptValue(engine, QScriptValue::NullValue)", - "engine->nullValue() <=> engine->evaluate(\"null\")", - "engine->nullValue() <=> engine->nullValue()", - "engine->undefinedValue() <=> QScriptValue(QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> QScriptValue(0, QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->undefinedValue() <=> engine->evaluate(\"{}\")", - "engine->undefinedValue() <=> engine->evaluate(\"undefined\")", - "engine->undefinedValue() <=> engine->undefinedValue()"}; - -void tst_QScriptValue::strictlyEquals_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<QScriptValue>("other"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> equals; - equals.reserve(491); - for (unsigned i = 0; i < 491; ++i) - equals.insert(strictlyEquals_array[i]); - for (unsigned i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> value1 = initScriptValues(i); - for (unsigned j = 0; j < 135; ++j) { - QPair<QString, QScriptValue> value2 = initScriptValues(j); - QString tag = QString::fromLatin1("%20 <=> %21").arg(value1.first, value2.first); - QTest::newRow(tag.toAscii().constData()) << value1.second << value2.second << equals.contains(tag); } - } -} - -void tst_QScriptValue::strictlyEquals() -{ - QFETCH(QScriptValue, value); - QFETCH(QScriptValue, other); - QFETCH(bool, expected); - QEXPECT_FAIL("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(QScriptValue::UndefinedValue) <=> engine->undefinedValue()", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"null\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(QScriptValue::NullValue) <=> engine->nullValue()", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(true) <=> QScriptValue(true)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(true) <=> QScriptValue(0, true)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(false) <=> QScriptValue(false)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(false) <=> QScriptValue(0, false)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"undefined\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->undefinedValue()", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"null\")", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, QScriptValue::NullValue) <=> engine->nullValue()", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, true) <=> QScriptValue(true)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, true) <=> QScriptValue(0, true)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, false) <=> QScriptValue(false)", "FIXME: WebKit bug 43038", Continue); - QEXPECT_FAIL("QScriptValue(0, false) <=> QScriptValue(0, false)", "FIXME: WebKit bug 43038", Continue); - QCOMPARE(value.strictlyEquals(other), expected); -} - -static const QString instanceOf_array[] = { - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Object\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Number\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")", - "engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")", - "engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Undefined\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"Null\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"True\") <=> engine->evaluate(\"Object\")", - "engine->evaluate(\"False\") <=> engine->evaluate(\"Object\")", - "engine->newObject() <=> engine->evaluate(\"Object\")", - "engine->newArray() <=> engine->evaluate(\"Object\")", - "engine->newArray() <=> engine->evaluate(\"Array\")", - "engine->newArray(10) <=> engine->evaluate(\"Object\")", - "engine->newArray(10) <=> engine->evaluate(\"Array\")"}; - -void tst_QScriptValue::instanceOf_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<QScriptValue>("other"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> equals; - equals.reserve(34); - for (unsigned i = 0; i < 34; ++i) - equals.insert(instanceOf_array[i]); - for (unsigned i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> value1 = initScriptValues(i); - for (unsigned j = 0; j < 135; ++j) { - QPair<QString, QScriptValue> value2 = initScriptValues(j); - QString tag = QString::fromLatin1("%20 <=> %21").arg(value1.first, value2.first); - QTest::newRow(tag.toAscii().constData()) << value1.second << value2.second << equals.contains(tag); } - } -} - -void tst_QScriptValue::instanceOf() -{ - QFETCH(QScriptValue, value); - QFETCH(QScriptValue, other); - QFETCH(bool, expected); - QCOMPARE(value.instanceOf(other), expected); -} diff --git a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_init.cpp b/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_init.cpp deleted file mode 100644 index 4c97dd4..0000000 --- a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_init.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -/**************************************************************************** -*************** This file has been generated. DO NOT MODIFY! **************** -****************************************************************************/ - -#include "tst_qscriptvalue.h" - - -QPair<QString, QScriptValue> tst_QScriptValue::initScriptValues(uint idx) -{ - QScriptEngine* engine = m_engine; - switch (idx) { - case 0: return QPair<QString, QScriptValue>("QScriptValue()", QScriptValue()); - case 1: return QPair<QString, QScriptValue>("QScriptValue(QScriptValue::UndefinedValue)", QScriptValue(QScriptValue::UndefinedValue)); - case 2: return QPair<QString, QScriptValue>("QScriptValue(QScriptValue::NullValue)", QScriptValue(QScriptValue::NullValue)); - case 3: return QPair<QString, QScriptValue>("QScriptValue(true)", QScriptValue(true)); - case 4: return QPair<QString, QScriptValue>("QScriptValue(false)", QScriptValue(false)); - case 5: return QPair<QString, QScriptValue>("QScriptValue(int(122))", QScriptValue(int(122))); - case 6: return QPair<QString, QScriptValue>("QScriptValue(uint(124))", QScriptValue(uint(124))); - case 7: return QPair<QString, QScriptValue>("QScriptValue(0)", QScriptValue(0)); - case 8: return QPair<QString, QScriptValue>("QScriptValue(0.0)", QScriptValue(0.0)); - case 9: return QPair<QString, QScriptValue>("QScriptValue(123.0)", QScriptValue(123.0)); - case 10: return QPair<QString, QScriptValue>("QScriptValue(6.37e-8)", QScriptValue(6.37e-8)); - case 11: return QPair<QString, QScriptValue>("QScriptValue(-6.37e-8)", QScriptValue(-6.37e-8)); - case 12: return QPair<QString, QScriptValue>("QScriptValue(0x43211234)", QScriptValue(0x43211234)); - case 13: return QPair<QString, QScriptValue>("QScriptValue(0x10000)", QScriptValue(0x10000)); - case 14: return QPair<QString, QScriptValue>("QScriptValue(0x10001)", QScriptValue(0x10001)); - case 15: return QPair<QString, QScriptValue>("QScriptValue(qSNaN())", QScriptValue(qSNaN())); - case 16: return QPair<QString, QScriptValue>("QScriptValue(qQNaN())", QScriptValue(qQNaN())); - case 17: return QPair<QString, QScriptValue>("QScriptValue(qInf())", QScriptValue(qInf())); - case 18: return QPair<QString, QScriptValue>("QScriptValue(-qInf())", QScriptValue(-qInf())); - case 19: return QPair<QString, QScriptValue>("QScriptValue(\"NaN\")", QScriptValue("NaN")); - case 20: return QPair<QString, QScriptValue>("QScriptValue(\"Infinity\")", QScriptValue("Infinity")); - case 21: return QPair<QString, QScriptValue>("QScriptValue(\"-Infinity\")", QScriptValue("-Infinity")); - case 22: return QPair<QString, QScriptValue>("QScriptValue(\"ciao\")", QScriptValue("ciao")); - case 23: return QPair<QString, QScriptValue>("QScriptValue(QString::fromLatin1(\"ciao\"))", QScriptValue(QString::fromLatin1("ciao"))); - case 24: return QPair<QString, QScriptValue>("QScriptValue(QString(\"\"))", QScriptValue(QString(""))); - case 25: return QPair<QString, QScriptValue>("QScriptValue(QString())", QScriptValue(QString())); - case 26: return QPair<QString, QScriptValue>("QScriptValue(QString(\"0\"))", QScriptValue(QString("0"))); - case 27: return QPair<QString, QScriptValue>("QScriptValue(QString(\"123\"))", QScriptValue(QString("123"))); - case 28: return QPair<QString, QScriptValue>("QScriptValue(QString(\"12.4\"))", QScriptValue(QString("12.4"))); - case 29: return QPair<QString, QScriptValue>("QScriptValue(0, QScriptValue::UndefinedValue)", QScriptValue(0, QScriptValue::UndefinedValue)); - case 30: return QPair<QString, QScriptValue>("QScriptValue(0, QScriptValue::NullValue)", QScriptValue(0, QScriptValue::NullValue)); - case 31: return QPair<QString, QScriptValue>("QScriptValue(0, true)", QScriptValue(0, true)); - case 32: return QPair<QString, QScriptValue>("QScriptValue(0, false)", QScriptValue(0, false)); - case 33: return QPair<QString, QScriptValue>("QScriptValue(0, int(122))", QScriptValue(0, int(122))); - case 34: return QPair<QString, QScriptValue>("QScriptValue(0, uint(124))", QScriptValue(0, uint(124))); - case 35: return QPair<QString, QScriptValue>("QScriptValue(0, 0)", QScriptValue(0, 0)); - case 36: return QPair<QString, QScriptValue>("QScriptValue(0, 0.0)", QScriptValue(0, 0.0)); - case 37: return QPair<QString, QScriptValue>("QScriptValue(0, 123.0)", QScriptValue(0, 123.0)); - case 38: return QPair<QString, QScriptValue>("QScriptValue(0, 6.37e-8)", QScriptValue(0, 6.37e-8)); - case 39: return QPair<QString, QScriptValue>("QScriptValue(0, -6.37e-8)", QScriptValue(0, -6.37e-8)); - case 40: return QPair<QString, QScriptValue>("QScriptValue(0, 0x43211234)", QScriptValue(0, 0x43211234)); - case 41: return QPair<QString, QScriptValue>("QScriptValue(0, 0x10000)", QScriptValue(0, 0x10000)); - case 42: return QPair<QString, QScriptValue>("QScriptValue(0, 0x10001)", QScriptValue(0, 0x10001)); - case 43: return QPair<QString, QScriptValue>("QScriptValue(0, qSNaN())", QScriptValue(0, qSNaN())); - case 44: return QPair<QString, QScriptValue>("QScriptValue(0, qQNaN())", QScriptValue(0, qQNaN())); - case 45: return QPair<QString, QScriptValue>("QScriptValue(0, qInf())", QScriptValue(0, qInf())); - case 46: return QPair<QString, QScriptValue>("QScriptValue(0, -qInf())", QScriptValue(0, -qInf())); - case 47: return QPair<QString, QScriptValue>("QScriptValue(0, \"NaN\")", QScriptValue(0, "NaN")); - case 48: return QPair<QString, QScriptValue>("QScriptValue(0, \"Infinity\")", QScriptValue(0, "Infinity")); - case 49: return QPair<QString, QScriptValue>("QScriptValue(0, \"-Infinity\")", QScriptValue(0, "-Infinity")); - case 50: return QPair<QString, QScriptValue>("QScriptValue(0, \"ciao\")", QScriptValue(0, "ciao")); - case 51: return QPair<QString, QScriptValue>("QScriptValue(0, QString::fromLatin1(\"ciao\"))", QScriptValue(0, QString::fromLatin1("ciao"))); - case 52: return QPair<QString, QScriptValue>("QScriptValue(0, QString(\"\"))", QScriptValue(0, QString(""))); - case 53: return QPair<QString, QScriptValue>("QScriptValue(0, QString())", QScriptValue(0, QString())); - case 54: return QPair<QString, QScriptValue>("QScriptValue(0, QString(\"0\"))", QScriptValue(0, QString("0"))); - case 55: return QPair<QString, QScriptValue>("QScriptValue(0, QString(\"123\"))", QScriptValue(0, QString("123"))); - case 56: return QPair<QString, QScriptValue>("QScriptValue(0, QString(\"12.3\"))", QScriptValue(0, QString("12.3"))); - case 57: return QPair<QString, QScriptValue>("QScriptValue(engine, QScriptValue::UndefinedValue)", QScriptValue(engine, QScriptValue::UndefinedValue)); - case 58: return QPair<QString, QScriptValue>("QScriptValue(engine, QScriptValue::NullValue)", QScriptValue(engine, QScriptValue::NullValue)); - case 59: return QPair<QString, QScriptValue>("QScriptValue(engine, true)", QScriptValue(engine, true)); - case 60: return QPair<QString, QScriptValue>("QScriptValue(engine, false)", QScriptValue(engine, false)); - case 61: return QPair<QString, QScriptValue>("QScriptValue(engine, int(122))", QScriptValue(engine, int(122))); - case 62: return QPair<QString, QScriptValue>("QScriptValue(engine, uint(124))", QScriptValue(engine, uint(124))); - case 63: return QPair<QString, QScriptValue>("QScriptValue(engine, 0)", QScriptValue(engine, 0)); - case 64: return QPair<QString, QScriptValue>("QScriptValue(engine, 0.0)", QScriptValue(engine, 0.0)); - case 65: return QPair<QString, QScriptValue>("QScriptValue(engine, 123.0)", QScriptValue(engine, 123.0)); - case 66: return QPair<QString, QScriptValue>("QScriptValue(engine, 6.37e-8)", QScriptValue(engine, 6.37e-8)); - case 67: return QPair<QString, QScriptValue>("QScriptValue(engine, -6.37e-8)", QScriptValue(engine, -6.37e-8)); - case 68: return QPair<QString, QScriptValue>("QScriptValue(engine, 0x43211234)", QScriptValue(engine, 0x43211234)); - case 69: return QPair<QString, QScriptValue>("QScriptValue(engine, 0x10000)", QScriptValue(engine, 0x10000)); - case 70: return QPair<QString, QScriptValue>("QScriptValue(engine, 0x10001)", QScriptValue(engine, 0x10001)); - case 71: return QPair<QString, QScriptValue>("QScriptValue(engine, qSNaN())", QScriptValue(engine, qSNaN())); - case 72: return QPair<QString, QScriptValue>("QScriptValue(engine, qQNaN())", QScriptValue(engine, qQNaN())); - case 73: return QPair<QString, QScriptValue>("QScriptValue(engine, qInf())", QScriptValue(engine, qInf())); - case 74: return QPair<QString, QScriptValue>("QScriptValue(engine, -qInf())", QScriptValue(engine, -qInf())); - case 75: return QPair<QString, QScriptValue>("QScriptValue(engine, \"NaN\")", QScriptValue(engine, "NaN")); - case 76: return QPair<QString, QScriptValue>("QScriptValue(engine, \"Infinity\")", QScriptValue(engine, "Infinity")); - case 77: return QPair<QString, QScriptValue>("QScriptValue(engine, \"-Infinity\")", QScriptValue(engine, "-Infinity")); - case 78: return QPair<QString, QScriptValue>("QScriptValue(engine, \"ciao\")", QScriptValue(engine, "ciao")); - case 79: return QPair<QString, QScriptValue>("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", QScriptValue(engine, QString::fromLatin1("ciao"))); - case 80: return QPair<QString, QScriptValue>("QScriptValue(engine, QString(\"\"))", QScriptValue(engine, QString(""))); - case 81: return QPair<QString, QScriptValue>("QScriptValue(engine, QString())", QScriptValue(engine, QString())); - case 82: return QPair<QString, QScriptValue>("QScriptValue(engine, QString(\"0\"))", QScriptValue(engine, QString("0"))); - case 83: return QPair<QString, QScriptValue>("QScriptValue(engine, QString(\"123\"))", QScriptValue(engine, QString("123"))); - case 84: return QPair<QString, QScriptValue>("QScriptValue(engine, QString(\"1.23\"))", QScriptValue(engine, QString("1.23"))); - case 85: return QPair<QString, QScriptValue>("engine->evaluate(\"[]\")", engine->evaluate("[]")); - case 86: return QPair<QString, QScriptValue>("engine->evaluate(\"{}\")", engine->evaluate("{}")); - case 87: return QPair<QString, QScriptValue>("engine->evaluate(\"Object.prototype\")", engine->evaluate("Object.prototype")); - case 88: return QPair<QString, QScriptValue>("engine->evaluate(\"Date.prototype\")", engine->evaluate("Date.prototype")); - case 89: return QPair<QString, QScriptValue>("engine->evaluate(\"Array.prototype\")", engine->evaluate("Array.prototype")); - case 90: return QPair<QString, QScriptValue>("engine->evaluate(\"Function.prototype\")", engine->evaluate("Function.prototype")); - case 91: return QPair<QString, QScriptValue>("engine->evaluate(\"Error.prototype\")", engine->evaluate("Error.prototype")); - case 92: return QPair<QString, QScriptValue>("engine->evaluate(\"Object\")", engine->evaluate("Object")); - case 93: return QPair<QString, QScriptValue>("engine->evaluate(\"Array\")", engine->evaluate("Array")); - case 94: return QPair<QString, QScriptValue>("engine->evaluate(\"Number\")", engine->evaluate("Number")); - case 95: return QPair<QString, QScriptValue>("engine->evaluate(\"Function\")", engine->evaluate("Function")); - case 96: return QPair<QString, QScriptValue>("engine->evaluate(\"(function() { return 1; })\")", engine->evaluate("(function() { return 1; })")); - case 97: return QPair<QString, QScriptValue>("engine->evaluate(\"(function() { return 'ciao'; })\")", engine->evaluate("(function() { return 'ciao'; })")); - case 98: return QPair<QString, QScriptValue>("engine->evaluate(\"(function() { throw new Error('foo'); })\")", engine->evaluate("(function() { throw new Error('foo'); })")); - case 99: return QPair<QString, QScriptValue>("engine->evaluate(\"/foo/\")", engine->evaluate("/foo/")); - case 100: return QPair<QString, QScriptValue>("engine->evaluate(\"new Object()\")", engine->evaluate("new Object()")); - case 101: return QPair<QString, QScriptValue>("engine->evaluate(\"new Array()\")", engine->evaluate("new Array()")); - case 102: return QPair<QString, QScriptValue>("engine->evaluate(\"new Error()\")", engine->evaluate("new Error()")); - case 103: return QPair<QString, QScriptValue>("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", engine->evaluate("a = new Object(); a.foo = 22; a.foo")); - case 104: return QPair<QString, QScriptValue>("engine->evaluate(\"Undefined\")", engine->evaluate("Undefined")); - case 105: return QPair<QString, QScriptValue>("engine->evaluate(\"Null\")", engine->evaluate("Null")); - case 106: return QPair<QString, QScriptValue>("engine->evaluate(\"True\")", engine->evaluate("True")); - case 107: return QPair<QString, QScriptValue>("engine->evaluate(\"False\")", engine->evaluate("False")); - case 108: return QPair<QString, QScriptValue>("engine->evaluate(\"undefined\")", engine->evaluate("undefined")); - case 109: return QPair<QString, QScriptValue>("engine->evaluate(\"null\")", engine->evaluate("null")); - case 110: return QPair<QString, QScriptValue>("engine->evaluate(\"true\")", engine->evaluate("true")); - case 111: return QPair<QString, QScriptValue>("engine->evaluate(\"false\")", engine->evaluate("false")); - case 112: return QPair<QString, QScriptValue>("engine->evaluate(\"122\")", engine->evaluate("122")); - case 113: return QPair<QString, QScriptValue>("engine->evaluate(\"124\")", engine->evaluate("124")); - case 114: return QPair<QString, QScriptValue>("engine->evaluate(\"0\")", engine->evaluate("0")); - case 115: return QPair<QString, QScriptValue>("engine->evaluate(\"0.0\")", engine->evaluate("0.0")); - case 116: return QPair<QString, QScriptValue>("engine->evaluate(\"123.0\")", engine->evaluate("123.0")); - case 117: return QPair<QString, QScriptValue>("engine->evaluate(\"6.37e-8\")", engine->evaluate("6.37e-8")); - case 118: return QPair<QString, QScriptValue>("engine->evaluate(\"-6.37e-8\")", engine->evaluate("-6.37e-8")); - case 119: return QPair<QString, QScriptValue>("engine->evaluate(\"0x43211234\")", engine->evaluate("0x43211234")); - case 120: return QPair<QString, QScriptValue>("engine->evaluate(\"0x10000\")", engine->evaluate("0x10000")); - case 121: return QPair<QString, QScriptValue>("engine->evaluate(\"0x10001\")", engine->evaluate("0x10001")); - case 122: return QPair<QString, QScriptValue>("engine->evaluate(\"NaN\")", engine->evaluate("NaN")); - case 123: return QPair<QString, QScriptValue>("engine->evaluate(\"Infinity\")", engine->evaluate("Infinity")); - case 124: return QPair<QString, QScriptValue>("engine->evaluate(\"-Infinity\")", engine->evaluate("-Infinity")); - case 125: return QPair<QString, QScriptValue>("engine->evaluate(\"'ciao'\")", engine->evaluate("'ciao'")); - case 126: return QPair<QString, QScriptValue>("engine->evaluate(\"''\")", engine->evaluate("''")); - case 127: return QPair<QString, QScriptValue>("engine->evaluate(\"'0'\")", engine->evaluate("'0'")); - case 128: return QPair<QString, QScriptValue>("engine->evaluate(\"'123'\")", engine->evaluate("'123'")); - case 129: return QPair<QString, QScriptValue>("engine->evaluate(\"'12.4'\")", engine->evaluate("'12.4'")); - case 130: return QPair<QString, QScriptValue>("engine->nullValue()", engine->nullValue()); - case 131: return QPair<QString, QScriptValue>("engine->undefinedValue()", engine->undefinedValue()); - case 132: return QPair<QString, QScriptValue>("engine->newObject()", engine->newObject()); - case 133: return QPair<QString, QScriptValue>("engine->newArray()", engine->newArray()); - case 134: return QPair<QString, QScriptValue>("engine->newArray(10)", engine->newArray(10)); - } - Q_ASSERT(false); - return qMakePair(QString(), QScriptValue()); -} diff --git a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_istype.cpp b/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_istype.cpp deleted file mode 100644 index 433597f..0000000 --- a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_istype.cpp +++ /dev/null @@ -1,622 +0,0 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - - -/**************************************************************************** -*************** This file has been generated. DO NOT MODIFY! **************** -****************************************************************************/ - -#include "tst_qscriptvalue.h" - - -static const QString isValid_array[] = { - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(int(122))", - "QScriptValue(uint(124))", - "QScriptValue(0)", - "QScriptValue(0.0)", - "QScriptValue(123.0)", - "QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8)", - "QScriptValue(0x43211234)", - "QScriptValue(0x10000)", - "QScriptValue(0x10001)", - "QScriptValue(qSNaN())", - "QScriptValue(qQNaN())", - "QScriptValue(qInf())", - "QScriptValue(-qInf())", - "QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\")", - "QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\"))", - "QScriptValue(QString())", - "QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(0, int(122))", - "QScriptValue(0, uint(124))", - "QScriptValue(0, 0)", - "QScriptValue(0, 0.0)", - "QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8)", - "QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10001)", - "QScriptValue(0, qSNaN())", - "QScriptValue(0, qQNaN())", - "QScriptValue(0, qInf())", - "QScriptValue(0, -qInf())", - "QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString())", - "QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "QScriptValue(engine, int(122))", - "QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0)", - "QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10001)", - "QScriptValue(engine, qSNaN())", - "QScriptValue(engine, qQNaN())", - "QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\")", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\")", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")", - "engine->evaluate(\"122\")", - "engine->evaluate(\"124\")", - "engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\")", - "engine->evaluate(\"NaN\")", - "engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")", - "engine->nullValue()", - "engine->undefinedValue()", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)"}; - -void tst_QScriptValue::isValid_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(134); - for (uint i = 0; i < 134; ++i) - expectedValue.insert(isValid_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isValid() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isValid(), expected); - QCOMPARE(value.isValid(), expected); -} - -static const QString isBool_array[] = { - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")"}; - -void tst_QScriptValue::isBool_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(8); - for (uint i = 0; i < 8; ++i) - expectedValue.insert(isBool_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isBool() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isBool(), expected); - QCOMPARE(value.isBool(), expected); -} - -static const QString isBoolean_array[] = { - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")"}; - -void tst_QScriptValue::isBoolean_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(8); - for (uint i = 0; i < 8; ++i) - expectedValue.insert(isBoolean_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isBoolean() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isBoolean(), expected); - QCOMPARE(value.isBoolean(), expected); -} - -static const QString isNumber_array[] = { - "QScriptValue(int(122))", - "QScriptValue(uint(124))", - "QScriptValue(0)", - "QScriptValue(0.0)", - "QScriptValue(123.0)", - "QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8)", - "QScriptValue(0x43211234)", - "QScriptValue(0x10000)", - "QScriptValue(0x10001)", - "QScriptValue(qSNaN())", - "QScriptValue(qQNaN())", - "QScriptValue(qInf())", - "QScriptValue(-qInf())", - "QScriptValue(0, int(122))", - "QScriptValue(0, uint(124))", - "QScriptValue(0, 0)", - "QScriptValue(0, 0.0)", - "QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8)", - "QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10001)", - "QScriptValue(0, qSNaN())", - "QScriptValue(0, qQNaN())", - "QScriptValue(0, qInf())", - "QScriptValue(0, -qInf())", - "QScriptValue(engine, int(122))", - "QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0)", - "QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10001)", - "QScriptValue(engine, qSNaN())", - "QScriptValue(engine, qQNaN())", - "QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf())", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"122\")", - "engine->evaluate(\"124\")", - "engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\")", - "engine->evaluate(\"NaN\")", - "engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\")"}; - -void tst_QScriptValue::isNumber_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(56); - for (uint i = 0; i < 56; ++i) - expectedValue.insert(isNumber_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isNumber() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isNumber(), expected); - QCOMPARE(value.isNumber(), expected); -} - -static const QString isFunction_array[] = { - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")"}; - -void tst_QScriptValue::isFunction_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(9); - for (uint i = 0; i < 9; ++i) - expectedValue.insert(isFunction_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isFunction() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isFunction(), expected); - QCOMPARE(value.isFunction(), expected); -} - -static const QString isNull_array[] = { - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "engine->evaluate(\"null\")", - "engine->nullValue()"}; - -void tst_QScriptValue::isNull_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(5); - for (uint i = 0; i < 5; ++i) - expectedValue.insert(isNull_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isNull() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isNull(), expected); - QCOMPARE(value.isNull(), expected); -} - -static const QString isString_array[] = { - "QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\")", - "QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\"))", - "QScriptValue(QString())", - "QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString())", - "QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")"}; - -void tst_QScriptValue::isString_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(35); - for (uint i = 0; i < 35; ++i) - expectedValue.insert(isString_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isString() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isString(), expected); - QCOMPARE(value.isString(), expected); -} - -static const QString isUndefined_array[] = { - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"undefined\")", - "engine->undefinedValue()"}; - -void tst_QScriptValue::isUndefined_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(6); - for (uint i = 0; i < 6; ++i) - expectedValue.insert(isUndefined_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isUndefined() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isUndefined(), expected); - QCOMPARE(value.isUndefined(), expected); -} - - - - -static const QString isObject_array[] = { - "engine->evaluate(\"[]\")", - "engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)"}; - -void tst_QScriptValue::isObject_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(24); - for (uint i = 0; i < 24; ++i) - expectedValue.insert(isObject_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isObject() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isObject(), expected); - QCOMPARE(value.isObject(), expected); -} - -static const QString isArray_array[] = { - "engine->evaluate(\"[]\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"new Array()\")", - "engine->newArray()", - "engine->newArray(10)"}; - -void tst_QScriptValue::isArray_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(5); - for (uint i = 0; i < 5; ++i) - expectedValue.insert(isArray_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isArray() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isArray(), expected); - QCOMPARE(value.isArray(), expected); -} - -static const QString isError_array[] = { - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")"}; - -void tst_QScriptValue::isError_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QSet<QString> expectedValue; - expectedValue.reserve(6); - for (uint i = 0; i < 6; ++i) - expectedValue.insert(isError_array[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue.contains(testcase.first); - } -} - -void tst_QScriptValue::isError() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.isError(), expected); - QCOMPARE(value.isError(), expected); -} diff --git a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_totype.cpp b/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_totype.cpp deleted file mode 100644 index eaa5d14..0000000 --- a/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated_totype.cpp +++ /dev/null @@ -1,1786 +0,0 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -/**************************************************************************** -*************** This file has been generated. DO NOT MODIFY! **************** -****************************************************************************/ - -#include "tst_qscriptvalue.h" - -static const QString toString_tagArray[] = { - "QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(int(122))", - "QScriptValue(uint(124))", - "QScriptValue(0)", - "QScriptValue(0.0)", - "QScriptValue(123.0)", - "QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8)", - "QScriptValue(0x43211234)", - "QScriptValue(0x10000)", - "QScriptValue(0x10001)", - "QScriptValue(qSNaN())", - "QScriptValue(qQNaN())", - "QScriptValue(qInf())", - "QScriptValue(-qInf())", - "QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\")", - "QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\"))", - "QScriptValue(QString())", - "QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(0, int(122))", - "QScriptValue(0, uint(124))", - "QScriptValue(0, 0)", - "QScriptValue(0, 0.0)", - "QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8)", - "QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10001)", - "QScriptValue(0, qSNaN())", - "QScriptValue(0, qQNaN())", - "QScriptValue(0, qInf())", - "QScriptValue(0, -qInf())", - "QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString())", - "QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "QScriptValue(engine, int(122))", - "QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0)", - "QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10001)", - "QScriptValue(engine, qSNaN())", - "QScriptValue(engine, qQNaN())", - "QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\")", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\")", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")", - "engine->evaluate(\"122\")", - "engine->evaluate(\"124\")", - "engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\")", - "engine->evaluate(\"NaN\")", - "engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")", - "engine->nullValue()", - "engine->undefinedValue()", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)"}; - -static const QString toString_valueArray[] = { - "", "undefined", - "null", "true", - "false", "122", - "124", "0", - "0", "123", - "6.37e-8", "-6.37e-8", - "1126240820", "65536", - "65537", "NaN", - "NaN", "Infinity", - "-Infinity", "NaN", - "Infinity", "-Infinity", - "ciao", "ciao", - "", "", - "0", "123", - "12.4", "undefined", - "null", "true", - "false", "122", - "124", "0", - "0", "123", - "6.37e-8", "-6.37e-8", - "1126240820", "65536", - "65537", "NaN", - "NaN", "Infinity", - "-Infinity", "NaN", - "Infinity", "-Infinity", - "ciao", "ciao", - "", "", - "0", "123", - "12.3", "undefined", - "null", "true", - "false", "122", - "124", "0", - "0", "123", - "6.37e-8", "-6.37e-8", - "1126240820", "65536", - "65537", "NaN", - "NaN", "Infinity", - "-Infinity", "NaN", - "Infinity", "-Infinity", - "ciao", "ciao", - "", "", - "0", "123", - "1.23", "", - "undefined", "[object Object]", - "Invalid Date", "", - "function () {\n [native code]\n}", "Error: Unknown error", - "function Object() {\n [native code]\n}", "function Array() {\n [native code]\n}", - "function Number() {\n [native code]\n}", "function Function() {\n [native code]\n}", - "function () { return 1; }", "function () { return 'ciao'; }", - "function () { throw new Error('foo'); }", "/foo/", - "[object Object]", "", - "Error: Unknown error", "22", - "ReferenceError: Can't find variable: Undefined", "ReferenceError: Can't find variable: Null", - "ReferenceError: Can't find variable: True", "ReferenceError: Can't find variable: False", - "undefined", "null", - "true", "false", - "122", "124", - "0", "0", - "123", "6.37e-8", - "-6.37e-8", "1126240820", - "65536", "65537", - "NaN", "Infinity", - "-Infinity", "ciao", - "", "0", - "123", "12.4", - "null", "undefined", - "[object Object]", "", - ",,,,,,,,,"}; - -void tst_QScriptValue::toString_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<QString>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QHash<QString, QString> expectedValue; - expectedValue.reserve(135); - for (uint i = 0; i < 135; ++i) - expectedValue.insert(toString_tagArray[i], toString_valueArray[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue[testcase.first]; - } -} - -void tst_QScriptValue::toString() -{ - QFETCH(QScriptValue, value); - QFETCH(QString, expected); - QCOMPARE(value.toString(), expected); - QCOMPARE(value.toString(), expected); -} - -static const QString toNumber_tagArray[] = { - "QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(int(122))", - "QScriptValue(uint(124))", - "QScriptValue(0)", - "QScriptValue(0.0)", - "QScriptValue(123.0)", - "QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8)", - "QScriptValue(0x43211234)", - "QScriptValue(0x10000)", - "QScriptValue(0x10001)", - "QScriptValue(qSNaN())", - "QScriptValue(qQNaN())", - "QScriptValue(qInf())", - "QScriptValue(-qInf())", - "QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\")", - "QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\"))", - "QScriptValue(QString())", - "QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(0, int(122))", - "QScriptValue(0, uint(124))", - "QScriptValue(0, 0)", - "QScriptValue(0, 0.0)", - "QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8)", - "QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10001)", - "QScriptValue(0, qSNaN())", - "QScriptValue(0, qQNaN())", - "QScriptValue(0, qInf())", - "QScriptValue(0, -qInf())", - "QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString())", - "QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "QScriptValue(engine, int(122))", - "QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0)", - "QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10001)", - "QScriptValue(engine, qSNaN())", - "QScriptValue(engine, qQNaN())", - "QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\")", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\")", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")", - "engine->evaluate(\"122\")", - "engine->evaluate(\"124\")", - "engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\")", - "engine->evaluate(\"NaN\")", - "engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")", - "engine->nullValue()", - "engine->undefinedValue()", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)"}; - -static const qsreal toNumber_valueArray[] = { - 0, qQNaN(), 0, 1, 0, 122, 124, 0, 0, 123, - 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536, 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), - qInf(), qInf(), qQNaN(), qQNaN(), 0, 0, 0, 123, 12.4, qQNaN(), - 0, 1, 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, - 1126240820, 65536, 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), qInf(), qInf(), - qQNaN(), qQNaN(), 0, 0, 0, 123, 12.3, qQNaN(), 0, 1, - 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, 65536, - 65537, qQNaN(), qQNaN(), qInf(), qInf(), qQNaN(), qInf(), qInf(), qQNaN(), qQNaN(), - 0, 0, 0, 123, 1.23, 0, qQNaN(), qQNaN(), qQNaN(), 0, - qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), - qQNaN(), 0, qQNaN(), 22, qQNaN(), qQNaN(), qQNaN(), qQNaN(), qQNaN(), 0, - 1, 0, 122, 124, 0, 0, 123, 6.369999999999999e-08, -6.369999999999999e-08, 1126240820, - 65536, 65537, qQNaN(), qInf(), qInf(), qQNaN(), 0, 0, 123, 12.4, - 0, qQNaN(), qQNaN(), 0, qQNaN()}; - -void tst_QScriptValue::toNumber_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<qsreal>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QHash<QString, qsreal> expectedValue; - expectedValue.reserve(135); - for (uint i = 0; i < 135; ++i) - expectedValue.insert(toNumber_tagArray[i], toNumber_valueArray[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue[testcase.first]; - } -} - -void tst_QScriptValue::toNumber() -{ - QFETCH(QScriptValue, value); - QFETCH(qsreal, expected); - if (qIsNaN(expected)) { - QVERIFY(qIsNaN(value.toNumber())); - return; - } - if (qIsInf(expected)) { - QVERIFY(qIsInf(value.toNumber())); - QVERIFY(qIsInf(value.toNumber())); - return; - } - QCOMPARE(value.toNumber(), expected); - QCOMPARE(value.toNumber(), expected); -} - -static const QString toBool_tagArray[] = { - "QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(int(122))", - "QScriptValue(uint(124))", - "QScriptValue(0)", - "QScriptValue(0.0)", - "QScriptValue(123.0)", - "QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8)", - "QScriptValue(0x43211234)", - "QScriptValue(0x10000)", - "QScriptValue(0x10001)", - "QScriptValue(qSNaN())", - "QScriptValue(qQNaN())", - "QScriptValue(qInf())", - "QScriptValue(-qInf())", - "QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\")", - "QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\"))", - "QScriptValue(QString())", - "QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(0, int(122))", - "QScriptValue(0, uint(124))", - "QScriptValue(0, 0)", - "QScriptValue(0, 0.0)", - "QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8)", - "QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10001)", - "QScriptValue(0, qSNaN())", - "QScriptValue(0, qQNaN())", - "QScriptValue(0, qInf())", - "QScriptValue(0, -qInf())", - "QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString())", - "QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "QScriptValue(engine, int(122))", - "QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0)", - "QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10001)", - "QScriptValue(engine, qSNaN())", - "QScriptValue(engine, qQNaN())", - "QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\")", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\")", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")", - "engine->evaluate(\"122\")", - "engine->evaluate(\"124\")", - "engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\")", - "engine->evaluate(\"NaN\")", - "engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")", - "engine->nullValue()", - "engine->undefinedValue()", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)"}; - -static const bool toBool_valueArray[] = { - false, false, - false, true, - false, true, - true, false, - false, true, - true, true, - true, true, - true, false, - false, true, - true, true, - true, true, - true, true, - false, false, - true, true, - true, false, - false, true, - false, true, - true, false, - false, true, - true, true, - true, true, - true, false, - false, true, - true, true, - true, true, - true, true, - false, false, - true, true, - true, false, - false, true, - false, true, - true, false, - false, true, - true, true, - true, true, - true, false, - false, true, - true, true, - true, true, - true, true, - false, false, - true, true, - true, true, - false, true, - true, true, - true, true, - true, true, - true, true, - true, true, - true, true, - true, true, - true, true, - true, true, - true, true, - false, false, - true, false, - true, true, - false, false, - true, true, - true, true, - true, true, - false, true, - true, true, - false, true, - true, true, - false, false, - true, true, - true}; - -void tst_QScriptValue::toBool_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QHash<QString, bool> expectedValue; - expectedValue.reserve(135); - for (uint i = 0; i < 135; ++i) - expectedValue.insert(toBool_tagArray[i], toBool_valueArray[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue[testcase.first]; - } -} - -void tst_QScriptValue::toBool() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.toBool(), expected); - QCOMPARE(value.toBool(), expected); -} - -static const QString toBoolean_tagArray[] = { - "QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(int(122))", - "QScriptValue(uint(124))", - "QScriptValue(0)", - "QScriptValue(0.0)", - "QScriptValue(123.0)", - "QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8)", - "QScriptValue(0x43211234)", - "QScriptValue(0x10000)", - "QScriptValue(0x10001)", - "QScriptValue(qSNaN())", - "QScriptValue(qQNaN())", - "QScriptValue(qInf())", - "QScriptValue(-qInf())", - "QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\")", - "QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\"))", - "QScriptValue(QString())", - "QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(0, int(122))", - "QScriptValue(0, uint(124))", - "QScriptValue(0, 0)", - "QScriptValue(0, 0.0)", - "QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8)", - "QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10001)", - "QScriptValue(0, qSNaN())", - "QScriptValue(0, qQNaN())", - "QScriptValue(0, qInf())", - "QScriptValue(0, -qInf())", - "QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString())", - "QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "QScriptValue(engine, int(122))", - "QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0)", - "QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10001)", - "QScriptValue(engine, qSNaN())", - "QScriptValue(engine, qQNaN())", - "QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\")", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\")", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")", - "engine->evaluate(\"122\")", - "engine->evaluate(\"124\")", - "engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\")", - "engine->evaluate(\"NaN\")", - "engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")", - "engine->nullValue()", - "engine->undefinedValue()", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)"}; - -static const bool toBoolean_valueArray[] = { - false, false, - false, true, - false, true, - true, false, - false, true, - true, true, - true, true, - true, false, - false, true, - true, true, - true, true, - true, true, - false, false, - true, true, - true, false, - false, true, - false, true, - true, false, - false, true, - true, true, - true, true, - true, false, - false, true, - true, true, - true, true, - true, true, - false, false, - true, true, - true, false, - false, true, - false, true, - true, false, - false, true, - true, true, - true, true, - true, false, - false, true, - true, true, - true, true, - true, true, - false, false, - true, true, - true, true, - false, true, - true, true, - true, true, - true, true, - true, true, - true, true, - true, true, - true, true, - true, true, - true, true, - true, true, - false, false, - true, false, - true, true, - false, false, - true, true, - true, true, - true, true, - false, true, - true, true, - false, true, - true, true, - false, false, - true, true, - true}; - -void tst_QScriptValue::toBoolean_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<bool>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QHash<QString, bool> expectedValue; - expectedValue.reserve(135); - for (uint i = 0; i < 135; ++i) - expectedValue.insert(toBoolean_tagArray[i], toBoolean_valueArray[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue[testcase.first]; - } -} - -void tst_QScriptValue::toBoolean() -{ - QFETCH(QScriptValue, value); - QFETCH(bool, expected); - QCOMPARE(value.toBoolean(), expected); - QCOMPARE(value.toBoolean(), expected); -} - -static const QString toInteger_tagArray[] = { - "QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(int(122))", - "QScriptValue(uint(124))", - "QScriptValue(0)", - "QScriptValue(0.0)", - "QScriptValue(123.0)", - "QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8)", - "QScriptValue(0x43211234)", - "QScriptValue(0x10000)", - "QScriptValue(0x10001)", - "QScriptValue(qSNaN())", - "QScriptValue(qQNaN())", - "QScriptValue(qInf())", - "QScriptValue(-qInf())", - "QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\")", - "QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\"))", - "QScriptValue(QString())", - "QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(0, int(122))", - "QScriptValue(0, uint(124))", - "QScriptValue(0, 0)", - "QScriptValue(0, 0.0)", - "QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8)", - "QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10001)", - "QScriptValue(0, qSNaN())", - "QScriptValue(0, qQNaN())", - "QScriptValue(0, qInf())", - "QScriptValue(0, -qInf())", - "QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString())", - "QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "QScriptValue(engine, int(122))", - "QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0)", - "QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10001)", - "QScriptValue(engine, qSNaN())", - "QScriptValue(engine, qQNaN())", - "QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\")", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\")", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")", - "engine->evaluate(\"122\")", - "engine->evaluate(\"124\")", - "engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\")", - "engine->evaluate(\"NaN\")", - "engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")", - "engine->nullValue()", - "engine->undefinedValue()", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)"}; - -static const qsreal toInteger_valueArray[] = { - 0, 0, 0, 1, 0, 122, 124, 0, 0, 123, - 0, 0, 1126240820, 65536, 65537, 0, 0, qInf(), qInf(), 0, - qInf(), qInf(), 0, 0, 0, 0, 0, 123, 12, 0, - 0, 1, 0, 122, 124, 0, 0, 123, 0, 0, - 1126240820, 65536, 65537, 0, 0, qInf(), qInf(), 0, qInf(), qInf(), - 0, 0, 0, 0, 0, 123, 12, 0, 0, 1, - 0, 122, 124, 0, 0, 123, 0, 0, 1126240820, 65536, - 65537, 0, 0, qInf(), qInf(), 0, qInf(), qInf(), 0, 0, - 0, 0, 0, 123, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 22, 0, 0, 0, 0, 0, 0, - 1, 0, 122, 124, 0, 0, 123, 0, 0, 1126240820, - 65536, 65537, 0, qInf(), qInf(), 0, 0, 0, 123, 12, - 0, 0, 0, 0, 0}; - -void tst_QScriptValue::toInteger_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<qsreal>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QHash<QString, qsreal> expectedValue; - expectedValue.reserve(135); - for (uint i = 0; i < 135; ++i) - expectedValue.insert(toInteger_tagArray[i], toInteger_valueArray[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue[testcase.first]; - } -} - -void tst_QScriptValue::toInteger() -{ - QFETCH(QScriptValue, value); - QFETCH(qsreal, expected); - if (qIsInf(expected)) { - QVERIFY(qIsInf(value.toInteger())); - QVERIFY(qIsInf(value.toInteger())); - return; - } - QCOMPARE(value.toInteger(), expected); - QCOMPARE(value.toInteger(), expected); -} - -static const QString toInt32_tagArray[] = { - "QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(int(122))", - "QScriptValue(uint(124))", - "QScriptValue(0)", - "QScriptValue(0.0)", - "QScriptValue(123.0)", - "QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8)", - "QScriptValue(0x43211234)", - "QScriptValue(0x10000)", - "QScriptValue(0x10001)", - "QScriptValue(qSNaN())", - "QScriptValue(qQNaN())", - "QScriptValue(qInf())", - "QScriptValue(-qInf())", - "QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\")", - "QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\"))", - "QScriptValue(QString())", - "QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(0, int(122))", - "QScriptValue(0, uint(124))", - "QScriptValue(0, 0)", - "QScriptValue(0, 0.0)", - "QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8)", - "QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10001)", - "QScriptValue(0, qSNaN())", - "QScriptValue(0, qQNaN())", - "QScriptValue(0, qInf())", - "QScriptValue(0, -qInf())", - "QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString())", - "QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "QScriptValue(engine, int(122))", - "QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0)", - "QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10001)", - "QScriptValue(engine, qSNaN())", - "QScriptValue(engine, qQNaN())", - "QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\")", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\")", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")", - "engine->evaluate(\"122\")", - "engine->evaluate(\"124\")", - "engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\")", - "engine->evaluate(\"NaN\")", - "engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")", - "engine->nullValue()", - "engine->undefinedValue()", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)"}; - -static const qint32 toInt32_valueArray[] = { - 0, 0, - 0, 1, - 0, 122, - 124, 0, - 0, 123, - 0, 0, - 1126240820, 65536, - 65537, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 123, - 12, 0, - 0, 1, - 0, 122, - 124, 0, - 0, 123, - 0, 0, - 1126240820, 65536, - 65537, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 123, - 12, 0, - 0, 1, - 0, 122, - 124, 0, - 0, 123, - 0, 0, - 1126240820, 65536, - 65537, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 123, - 1, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 22, - 0, 0, - 0, 0, - 0, 0, - 1, 0, - 122, 124, - 0, 0, - 123, 0, - 0, 1126240820, - 65536, 65537, - 0, 0, - 0, 0, - 0, 0, - 123, 12, - 0, 0, - 0, 0, - 0}; - -void tst_QScriptValue::toInt32_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<qint32>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QHash<QString, qint32> expectedValue; - expectedValue.reserve(135); - for (uint i = 0; i < 135; ++i) - expectedValue.insert(toInt32_tagArray[i], toInt32_valueArray[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue[testcase.first]; - } -} - -void tst_QScriptValue::toInt32() -{ - QFETCH(QScriptValue, value); - QFETCH(qint32, expected); - QCOMPARE(value.toInt32(), expected); - QCOMPARE(value.toInt32(), expected); -} - -static const QString toUInt32_tagArray[] = { - "QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(int(122))", - "QScriptValue(uint(124))", - "QScriptValue(0)", - "QScriptValue(0.0)", - "QScriptValue(123.0)", - "QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8)", - "QScriptValue(0x43211234)", - "QScriptValue(0x10000)", - "QScriptValue(0x10001)", - "QScriptValue(qSNaN())", - "QScriptValue(qQNaN())", - "QScriptValue(qInf())", - "QScriptValue(-qInf())", - "QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\")", - "QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\"))", - "QScriptValue(QString())", - "QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(0, int(122))", - "QScriptValue(0, uint(124))", - "QScriptValue(0, 0)", - "QScriptValue(0, 0.0)", - "QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8)", - "QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10001)", - "QScriptValue(0, qSNaN())", - "QScriptValue(0, qQNaN())", - "QScriptValue(0, qInf())", - "QScriptValue(0, -qInf())", - "QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString())", - "QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "QScriptValue(engine, int(122))", - "QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0)", - "QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10001)", - "QScriptValue(engine, qSNaN())", - "QScriptValue(engine, qQNaN())", - "QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\")", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\")", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")", - "engine->evaluate(\"122\")", - "engine->evaluate(\"124\")", - "engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\")", - "engine->evaluate(\"NaN\")", - "engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")", - "engine->nullValue()", - "engine->undefinedValue()", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)"}; - -static const quint32 toUInt32_valueArray[] = { - 0, 0, - 0, 1, - 0, 122, - 124, 0, - 0, 123, - 0, 0, - 1126240820, 65536, - 65537, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 123, - 12, 0, - 0, 1, - 0, 122, - 124, 0, - 0, 123, - 0, 0, - 1126240820, 65536, - 65537, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 123, - 12, 0, - 0, 1, - 0, 122, - 124, 0, - 0, 123, - 0, 0, - 1126240820, 65536, - 65537, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 123, - 1, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 22, - 0, 0, - 0, 0, - 0, 0, - 1, 0, - 122, 124, - 0, 0, - 123, 0, - 0, 1126240820, - 65536, 65537, - 0, 0, - 0, 0, - 0, 0, - 123, 12, - 0, 0, - 0, 0, - 0}; - -void tst_QScriptValue::toUInt32_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<quint32>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QHash<QString, quint32> expectedValue; - expectedValue.reserve(135); - for (uint i = 0; i < 135; ++i) - expectedValue.insert(toUInt32_tagArray[i], toUInt32_valueArray[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue[testcase.first]; - } -} - -void tst_QScriptValue::toUInt32() -{ - QFETCH(QScriptValue, value); - QFETCH(quint32, expected); - QCOMPARE(value.toUInt32(), expected); - QCOMPARE(value.toUInt32(), expected); -} - -static const QString toUInt16_tagArray[] = { - "QScriptValue()", - "QScriptValue(QScriptValue::UndefinedValue)", - "QScriptValue(QScriptValue::NullValue)", - "QScriptValue(true)", - "QScriptValue(false)", - "QScriptValue(int(122))", - "QScriptValue(uint(124))", - "QScriptValue(0)", - "QScriptValue(0.0)", - "QScriptValue(123.0)", - "QScriptValue(6.37e-8)", - "QScriptValue(-6.37e-8)", - "QScriptValue(0x43211234)", - "QScriptValue(0x10000)", - "QScriptValue(0x10001)", - "QScriptValue(qSNaN())", - "QScriptValue(qQNaN())", - "QScriptValue(qInf())", - "QScriptValue(-qInf())", - "QScriptValue(\"NaN\")", - "QScriptValue(\"Infinity\")", - "QScriptValue(\"-Infinity\")", - "QScriptValue(\"ciao\")", - "QScriptValue(QString::fromLatin1(\"ciao\"))", - "QScriptValue(QString(\"\"))", - "QScriptValue(QString())", - "QScriptValue(QString(\"0\"))", - "QScriptValue(QString(\"123\"))", - "QScriptValue(QString(\"12.4\"))", - "QScriptValue(0, QScriptValue::UndefinedValue)", - "QScriptValue(0, QScriptValue::NullValue)", - "QScriptValue(0, true)", - "QScriptValue(0, false)", - "QScriptValue(0, int(122))", - "QScriptValue(0, uint(124))", - "QScriptValue(0, 0)", - "QScriptValue(0, 0.0)", - "QScriptValue(0, 123.0)", - "QScriptValue(0, 6.37e-8)", - "QScriptValue(0, -6.37e-8)", - "QScriptValue(0, 0x43211234)", - "QScriptValue(0, 0x10000)", - "QScriptValue(0, 0x10001)", - "QScriptValue(0, qSNaN())", - "QScriptValue(0, qQNaN())", - "QScriptValue(0, qInf())", - "QScriptValue(0, -qInf())", - "QScriptValue(0, \"NaN\")", - "QScriptValue(0, \"Infinity\")", - "QScriptValue(0, \"-Infinity\")", - "QScriptValue(0, \"ciao\")", - "QScriptValue(0, QString::fromLatin1(\"ciao\"))", - "QScriptValue(0, QString(\"\"))", - "QScriptValue(0, QString())", - "QScriptValue(0, QString(\"0\"))", - "QScriptValue(0, QString(\"123\"))", - "QScriptValue(0, QString(\"12.3\"))", - "QScriptValue(engine, QScriptValue::UndefinedValue)", - "QScriptValue(engine, QScriptValue::NullValue)", - "QScriptValue(engine, true)", - "QScriptValue(engine, false)", - "QScriptValue(engine, int(122))", - "QScriptValue(engine, uint(124))", - "QScriptValue(engine, 0)", - "QScriptValue(engine, 0.0)", - "QScriptValue(engine, 123.0)", - "QScriptValue(engine, 6.37e-8)", - "QScriptValue(engine, -6.37e-8)", - "QScriptValue(engine, 0x43211234)", - "QScriptValue(engine, 0x10000)", - "QScriptValue(engine, 0x10001)", - "QScriptValue(engine, qSNaN())", - "QScriptValue(engine, qQNaN())", - "QScriptValue(engine, qInf())", - "QScriptValue(engine, -qInf())", - "QScriptValue(engine, \"NaN\")", - "QScriptValue(engine, \"Infinity\")", - "QScriptValue(engine, \"-Infinity\")", - "QScriptValue(engine, \"ciao\")", - "QScriptValue(engine, QString::fromLatin1(\"ciao\"))", - "QScriptValue(engine, QString(\"\"))", - "QScriptValue(engine, QString())", - "QScriptValue(engine, QString(\"0\"))", - "QScriptValue(engine, QString(\"123\"))", - "QScriptValue(engine, QString(\"1.23\"))", - "engine->evaluate(\"[]\")", - "engine->evaluate(\"{}\")", - "engine->evaluate(\"Object.prototype\")", - "engine->evaluate(\"Date.prototype\")", - "engine->evaluate(\"Array.prototype\")", - "engine->evaluate(\"Function.prototype\")", - "engine->evaluate(\"Error.prototype\")", - "engine->evaluate(\"Object\")", - "engine->evaluate(\"Array\")", - "engine->evaluate(\"Number\")", - "engine->evaluate(\"Function\")", - "engine->evaluate(\"(function() { return 1; })\")", - "engine->evaluate(\"(function() { return 'ciao'; })\")", - "engine->evaluate(\"(function() { throw new Error('foo'); })\")", - "engine->evaluate(\"/foo/\")", - "engine->evaluate(\"new Object()\")", - "engine->evaluate(\"new Array()\")", - "engine->evaluate(\"new Error()\")", - "engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", - "engine->evaluate(\"Undefined\")", - "engine->evaluate(\"Null\")", - "engine->evaluate(\"True\")", - "engine->evaluate(\"False\")", - "engine->evaluate(\"undefined\")", - "engine->evaluate(\"null\")", - "engine->evaluate(\"true\")", - "engine->evaluate(\"false\")", - "engine->evaluate(\"122\")", - "engine->evaluate(\"124\")", - "engine->evaluate(\"0\")", - "engine->evaluate(\"0.0\")", - "engine->evaluate(\"123.0\")", - "engine->evaluate(\"6.37e-8\")", - "engine->evaluate(\"-6.37e-8\")", - "engine->evaluate(\"0x43211234\")", - "engine->evaluate(\"0x10000\")", - "engine->evaluate(\"0x10001\")", - "engine->evaluate(\"NaN\")", - "engine->evaluate(\"Infinity\")", - "engine->evaluate(\"-Infinity\")", - "engine->evaluate(\"'ciao'\")", - "engine->evaluate(\"''\")", - "engine->evaluate(\"'0'\")", - "engine->evaluate(\"'123'\")", - "engine->evaluate(\"'12.4'\")", - "engine->nullValue()", - "engine->undefinedValue()", - "engine->newObject()", - "engine->newArray()", - "engine->newArray(10)"}; - -static const quint16 toUInt16_valueArray[] = { - 0, 0, - 0, 1, - 0, 122, - 124, 0, - 0, 123, - 0, 0, - 4660, 0, - 1, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 123, - 12, 0, - 0, 1, - 0, 122, - 124, 0, - 0, 123, - 0, 0, - 4660, 0, - 1, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 123, - 12, 0, - 0, 1, - 0, 122, - 124, 0, - 0, 123, - 0, 0, - 4660, 0, - 1, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 123, - 1, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 0, - 0, 22, - 0, 0, - 0, 0, - 0, 0, - 1, 0, - 122, 124, - 0, 0, - 123, 0, - 0, 4660, - 0, 1, - 0, 0, - 0, 0, - 0, 0, - 123, 12, - 0, 0, - 0, 0, - 0}; - -void tst_QScriptValue::toUInt16_data() -{ - QTest::addColumn<QScriptValue>("value"); - QTest::addColumn<quint16>("expected"); - if (m_engine) - delete m_engine; - m_engine = new QScriptEngine(); - QHash<QString, quint16> expectedValue; - expectedValue.reserve(135); - for (uint i = 0; i < 135; ++i) - expectedValue.insert(toUInt16_tagArray[i], toUInt16_valueArray[i]); - for (uint i = 0; i < 135; ++i) { - QPair<QString, QScriptValue> testcase = initScriptValues(i); - QTest::newRow(testcase.first.toAscii().constData()) << testcase.second << expectedValue[testcase.first]; - } -} - -void tst_QScriptValue::toUInt16() -{ - QFETCH(QScriptValue, value); - QFETCH(quint16, expected); - QCOMPARE(value.toUInt16(), expected); - QCOMPARE(value.toUInt16(), expected); -} diff --git a/JavaScriptCore/qt/tests/qscriptvalueiterator/qscriptvalueiterator.pro b/JavaScriptCore/qt/tests/qscriptvalueiterator/qscriptvalueiterator.pro deleted file mode 100644 index 5314ec9..0000000 --- a/JavaScriptCore/qt/tests/qscriptvalueiterator/qscriptvalueiterator.pro +++ /dev/null @@ -1,7 +0,0 @@ -TEMPLATE = app -TARGET = tst_qscriptvalueiterator -QT += testlib -include(../tests.pri) - -SOURCES += tst_qscriptvalueiterator.cpp - diff --git a/JavaScriptCore/qt/tests/qscriptvalueiterator/tst_qscriptvalueiterator.cpp b/JavaScriptCore/qt/tests/qscriptvalueiterator/tst_qscriptvalueiterator.cpp deleted file mode 100644 index 43d0042..0000000 --- a/JavaScriptCore/qt/tests/qscriptvalueiterator/tst_qscriptvalueiterator.cpp +++ /dev/null @@ -1,531 +0,0 @@ -/* - Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef tst_qscriptvalueiterator_h -#define tst_qscriptvalueiterator_h - -#include "qscriptengine.h" -#include "qscriptvalue.h" -#include "qscriptvalueiterator.h" -#include <QtCore/qhash.h> -#include <QtTest/QtTest> - -class tst_QScriptValueIterator : public QObject { - Q_OBJECT - -public: - tst_QScriptValueIterator(); - virtual ~tst_QScriptValueIterator(); - -private slots: - void iterateForward_data(); - void iterateForward(); - void iterateBackward_data(); - void iterateBackward(); - void iterateArray_data(); - void iterateArray(); - void iterateBackAndForth(); - void setValue(); - void remove(); - void removeMixed(); - void removeUndeletable(); - void iterateString(); - void assignObjectToIterator(); -}; - -tst_QScriptValueIterator::tst_QScriptValueIterator() -{ -} - -tst_QScriptValueIterator::~tst_QScriptValueIterator() -{ -} - -void tst_QScriptValueIterator::iterateForward_data() -{ - QTest::addColumn<QStringList>("propertyNames"); - QTest::addColumn<QStringList>("propertyValues"); - - QTest::newRow("no properties") - << QStringList() << QStringList(); - QTest::newRow("foo=bar") - << (QStringList() << "foo") - << (QStringList() << "bar"); - QTest::newRow("foo=bar, baz=123") - << (QStringList() << "foo" << "baz") - << (QStringList() << "bar" << "123"); - QTest::newRow("foo=bar, baz=123, rab=oof") - << (QStringList() << "foo" << "baz" << "rab") - << (QStringList() << "bar" << "123" << "oof"); -} - -void tst_QScriptValueIterator::iterateForward() -{ - QFETCH(QStringList, propertyNames); - QFETCH(QStringList, propertyValues); - QMap<QString, QString> pmap; - Q_ASSERT(propertyNames.size() == propertyValues.size()); - - QScriptEngine engine; - QScriptValue object = engine.newObject(); - for (int i = 0; i < propertyNames.size(); ++i) { - QString name = propertyNames.at(i); - QString value = propertyValues.at(i); - pmap.insert(name, value); - object.setProperty(name, QScriptValue(&engine, value)); - } - QScriptValue otherObject = engine.newObject(); - otherObject.setProperty("foo", QScriptValue(&engine, 123456)); - otherObject.setProperty("protoProperty", QScriptValue(&engine, 654321)); - object.setPrototype(otherObject); // should not affect iterator - - QStringList lst; - QScriptValueIterator it(object); - while (!pmap.isEmpty()) { - QCOMPARE(it.hasNext(), true); - QCOMPARE(it.hasNext(), true); - it.next(); - QString name = it.name(); - QCOMPARE(pmap.contains(name), true); - QCOMPARE(it.name(), name); - QCOMPARE(it.flags(), object.propertyFlags(name)); - QCOMPARE(it.value().strictlyEquals(QScriptValue(&engine, pmap.value(name))), true); - QCOMPARE(it.scriptName(), engine.toStringHandle(name)); - pmap.remove(name); - lst.append(name); - } - - QCOMPARE(it.hasNext(), false); - QCOMPARE(it.hasNext(), false); - - it.toFront(); - for (int i = 0; i < lst.count(); ++i) { - QCOMPARE(it.hasNext(), true); - it.next(); - QCOMPARE(it.name(), lst.at(i)); - } - - for (int i = 0; i < lst.count(); ++i) { - QCOMPARE(it.hasPrevious(), true); - it.previous(); - QCOMPARE(it.name(), lst.at(lst.count()-1-i)); - } - QCOMPARE(it.hasPrevious(), false); -} - -void tst_QScriptValueIterator::iterateBackward_data() -{ - iterateForward_data(); -} - -void tst_QScriptValueIterator::iterateBackward() -{ - QFETCH(QStringList, propertyNames); - QFETCH(QStringList, propertyValues); - QMap<QString, QString> pmap; - Q_ASSERT(propertyNames.size() == propertyValues.size()); - - QScriptEngine engine; - QScriptValue object = engine.newObject(); - for (int i = 0; i < propertyNames.size(); ++i) { - QString name = propertyNames.at(i); - QString value = propertyValues.at(i); - pmap.insert(name, value); - object.setProperty(name, QScriptValue(&engine, value)); - } - - QStringList lst; - QScriptValueIterator it(object); - it.toBack(); - while (!pmap.isEmpty()) { - QCOMPARE(it.hasPrevious(), true); - QCOMPARE(it.hasPrevious(), true); - it.previous(); - QString name = it.name(); - QCOMPARE(pmap.contains(name), true); - QCOMPARE(it.name(), name); - QCOMPARE(it.flags(), object.propertyFlags(name)); - QCOMPARE(it.value().strictlyEquals(QScriptValue(&engine, pmap.value(name))), true); - pmap.remove(name); - lst.append(name); - } - - QCOMPARE(it.hasPrevious(), false); - QCOMPARE(it.hasPrevious(), false); - - it.toBack(); - for (int i = 0; i < lst.count(); ++i) { - QCOMPARE(it.hasPrevious(), true); - it.previous(); - QCOMPARE(it.name(), lst.at(i)); - } - - for (int i = 0; i < lst.count(); ++i) { - QCOMPARE(it.hasNext(), true); - it.next(); - QCOMPARE(it.name(), lst.at(lst.count()-1-i)); - } - QCOMPARE(it.hasNext(), false); -} - -void tst_QScriptValueIterator::iterateArray_data() -{ - QTest::addColumn<QStringList>("inputPropertyNames"); - QTest::addColumn<QStringList>("inputPropertyValues"); - QTest::addColumn<QStringList>("propertyNames"); - QTest::addColumn<QStringList>("propertyValues"); - QTest::newRow("no elements") << QStringList() << QStringList() << QStringList() << QStringList(); - - QTest::newRow("0=foo, 1=barr") - << (QStringList() << "0" << "1") - << (QStringList() << "foo" << "bar") - << (QStringList() << "0" << "1") - << (QStringList() << "foo" << "bar"); - - QTest::newRow("0=foo, 3=barr") - << (QStringList() << "0" << "1" << "2" << "3") - << (QStringList() << "foo" << "" << "" << "bar") - << (QStringList() << "0" << "1" << "2" << "3") - << (QStringList() << "foo" << "" << "" << "bar"); -} - -void tst_QScriptValueIterator::iterateArray() -{ - QFETCH(QStringList, inputPropertyNames); - QFETCH(QStringList, inputPropertyValues); - QFETCH(QStringList, propertyNames); - QFETCH(QStringList, propertyValues); - - QScriptEngine engine; - QScriptValue array = engine.newArray(); - for (int i = 0; i < inputPropertyNames.size(); ++i) - array.setProperty(inputPropertyNames.at(i), inputPropertyValues.at(i)); - - int length = array.property("length").toInt32(); - QCOMPARE(length, propertyNames.size()); - QScriptValueIterator it(array); - for (int i = 0; i < length; ++i) { - QCOMPARE(it.hasNext(), true); - it.next(); - QCOMPARE(it.name(), propertyNames.at(i)); - QCOMPARE(it.flags(), array.propertyFlags(propertyNames.at(i))); - QVERIFY(it.value().strictlyEquals(array.property(propertyNames.at(i)))); - QCOMPARE(it.value().toString(), propertyValues.at(i)); - } - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("length")); - QVERIFY(it.value().isNumber()); - QCOMPARE(it.value().toInt32(), length); - QCOMPARE(it.flags(), QScriptValue::PropertyFlags(QScriptValue::SkipInEnumeration | QScriptValue::Undeletable)); - - it.previous(); - QCOMPARE(it.hasPrevious(), length > 0); - for (int i = length - 1; i >= 0; --i) { - it.previous(); - QCOMPARE(it.name(), propertyNames.at(i)); - QCOMPARE(it.flags(), array.propertyFlags(propertyNames.at(i))); - QVERIFY(it.value().strictlyEquals(array.property(propertyNames.at(i)))); - QCOMPARE(it.value().toString(), propertyValues.at(i)); - QCOMPARE(it.hasPrevious(), i > 0); - } - QCOMPARE(it.hasPrevious(), false); - - // hasNext() and hasPrevious() cache their result; verify that the result is in sync - if (length > 1) { - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("0")); - QVERIFY(it.hasNext()); - it.previous(); - QCOMPARE(it.name(), QString::fromLatin1("0")); - QVERIFY(!it.hasPrevious()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("0")); - QVERIFY(it.hasPrevious()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("1")); - } - { - // same test as object: - QScriptValue originalArray = engine.newArray(); - for (int i = 0; i < inputPropertyNames.size(); ++i) - originalArray.setProperty(inputPropertyNames.at(i), inputPropertyValues.at(i)); - - QScriptValue array = originalArray.toObject(); - int length = array.property("length").toInt32(); - QCOMPARE(length, propertyNames.size()); - QScriptValueIterator it(array); - for (int i = 0; i < length; ++i) { - QCOMPARE(it.hasNext(), true); - it.next(); - QCOMPARE(it.name(), propertyNames.at(i)); - QCOMPARE(it.flags(), array.propertyFlags(propertyNames.at(i))); - QVERIFY(it.value().strictlyEquals(array.property(propertyNames.at(i)))); - QCOMPARE(it.value().toString(), propertyValues.at(i)); - } - QCOMPARE(it.hasNext(), true); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("length")); - } -} - -void tst_QScriptValueIterator::iterateBackAndForth() -{ - QScriptEngine engine; - { - QScriptValue object = engine.newObject(); - object.setProperty("foo", QScriptValue(&engine, "bar")); - object.setProperty("rab", QScriptValue(&engine, "oof"), - QScriptValue::SkipInEnumeration); // should not affect iterator - QScriptValueIterator it(object); - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QLatin1String("foo")); - QVERIFY(it.hasPrevious()); - it.previous(); - QCOMPARE(it.name(), QLatin1String("foo")); - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QLatin1String("foo")); - QVERIFY(it.hasPrevious()); - it.previous(); - QCOMPARE(it.name(), QLatin1String("foo")); - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QLatin1String("foo")); - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QLatin1String("rab")); - QVERIFY(it.hasPrevious()); - it.previous(); - QCOMPARE(it.name(), QLatin1String("rab")); - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QLatin1String("rab")); - QVERIFY(it.hasPrevious()); - it.previous(); - QCOMPARE(it.name(), QLatin1String("rab")); - } - { - // hasNext() and hasPrevious() cache their result; verify that the result is in sync - QScriptValue object = engine.newObject(); - object.setProperty("foo", QScriptValue(&engine, "bar")); - object.setProperty("rab", QScriptValue(&engine, "oof")); - QScriptValueIterator it(object); - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("foo")); - QVERIFY(it.hasNext()); - it.previous(); - QCOMPARE(it.name(), QString::fromLatin1("foo")); - QVERIFY(!it.hasPrevious()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("foo")); - QVERIFY(it.hasPrevious()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("rab")); - } -} - -void tst_QScriptValueIterator::setValue() -{ - QScriptEngine engine; - QScriptValue object = engine.newObject(); - object.setProperty("foo", QScriptValue(&engine, "bar")); - QScriptValueIterator it(object); - it.next(); - QCOMPARE(it.name(), QLatin1String("foo")); - it.setValue(QScriptValue(&engine, "baz")); - QCOMPARE(it.value().strictlyEquals(QScriptValue(&engine, QLatin1String("baz"))), true); - QCOMPARE(object.property("foo").toString(), QLatin1String("baz")); - it.setValue(QScriptValue(&engine, "zab")); - QCOMPARE(it.value().strictlyEquals(QScriptValue(&engine, QLatin1String("zab"))), true); - QCOMPARE(object.property("foo").toString(), QLatin1String("zab")); -} - -void tst_QScriptValueIterator::remove() -{ - QScriptEngine engine; - QScriptValue object = engine.newObject(); - object.setProperty("foo", QScriptValue(&engine, "bar"), - QScriptValue::SkipInEnumeration); // should not affect iterator - object.setProperty("rab", QScriptValue(&engine, "oof")); - QScriptValueIterator it(object); - it.next(); - QCOMPARE(it.name(), QLatin1String("foo")); - it.remove(); - QCOMPARE(it.hasPrevious(), false); - QCOMPARE(object.property("foo").isValid(), false); - QCOMPARE(object.property("rab").toString(), QLatin1String("oof")); - it.next(); - QCOMPARE(it.name(), QLatin1String("rab")); - QCOMPARE(it.value().toString(), QLatin1String("oof")); - QCOMPARE(it.hasNext(), false); - it.remove(); - QCOMPARE(object.property("rab").isValid(), false); - QCOMPARE(it.hasPrevious(), false); - QCOMPARE(it.hasNext(), false); -} - -void tst_QScriptValueIterator::removeMixed() -{ - // This test checks if QScriptValueIterator behaives correctly if an object's property got deleted - // in different way. - QScriptEngine engine; - QScriptValue object = engine.evaluate("o = new Object; o"); - object.setProperty("a", QScriptValue(124), QScriptValue::SkipInEnumeration); - object.setProperty("b", QScriptValue(816)); - object.setProperty("c", QScriptValue(3264)); - QScriptValueIterator it(object); - it.next(); - it.next(); - QCOMPARE(it.name(), QLatin1String("b")); - QCOMPARE(it.hasPrevious(), true); - QCOMPARE(it.hasNext(), true); - // Remove 'a' - object.setProperty("a", QScriptValue()); - QEXPECT_FAIL("", "That would be a significant behavioral and performance change, new QtScript API should be developed (QTBUG-12087)", Abort); - QCOMPARE(it.hasPrevious(), false); - QCOMPARE(it.hasNext(), true); - // Remove 'c' - engine.evaluate("delete o.c"); - QCOMPARE(it.hasPrevious(), false); - QCOMPARE(it.hasNext(), false); - // Remove 'b' - object.setProperty("b", QScriptValue()); - QCOMPARE(it.hasPrevious(), false); - QCOMPARE(it.hasNext(), false); - QCOMPARE(it.name(), QString()); - QCOMPARE(it.value().toString(), QString()); - - // Try to remove a removed property. - it.remove(); - QCOMPARE(it.hasPrevious(), false); - QCOMPARE(it.hasNext(), false); - QCOMPARE(it.name(), QString()); - QCOMPARE(it.value().toString(), QString()); - - for (int i = 0; i < 2; ++i) { - it.next(); - QCOMPARE(it.hasPrevious(), false); - QCOMPARE(it.hasNext(), false); - QCOMPARE(it.name(), QString()); - QCOMPARE(it.value().toString(), QString()); - } - - for (int i = 0; i < 2; ++i) { - it.previous(); - QCOMPARE(it.hasPrevious(), false); - QCOMPARE(it.hasNext(), false); - QCOMPARE(it.name(), QString()); - QCOMPARE(it.value().toString(), QString()); - } -} - -void tst_QScriptValueIterator::removeUndeletable() -{ - // Undeletable property can't be deleted via iterator. - QScriptEngine engine; - QScriptValue object = engine.evaluate("o = new Object; o"); - object.setProperty("a", QScriptValue(&engine, 124)); - object.setProperty("b", QScriptValue(&engine, 816), QScriptValue::Undeletable); - QVERIFY(object.property("b").isValid()); - QScriptValueIterator it(object); - it.next(); - it.next(); - it.remove(); - it.toFront(); - QVERIFY(it.hasNext()); - QVERIFY(object.property("b").isValid()); -} - -void tst_QScriptValueIterator::iterateString() -{ - QScriptEngine engine; - QScriptValue str = QScriptValue(&engine, QString::fromLatin1("ciao")); - QVERIFY(str.isString()); - QScriptValue obj = str.toObject(); - int length = obj.property("length").toInt32(); - QCOMPARE(length, 4); - QScriptValueIterator it(obj); - for (int i = 0; i < length; ++i) { - QCOMPARE(it.hasNext(), true); - QString indexStr = QScriptValue(&engine, i).toString(); - it.next(); - QCOMPARE(it.name(), indexStr); - QCOMPARE(it.flags(), obj.propertyFlags(indexStr)); - QCOMPARE(it.value().strictlyEquals(obj.property(indexStr)), true); - } - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("length")); - QVERIFY(it.value().isNumber()); - QCOMPARE(it.value().toInt32(), length); - QCOMPARE(it.flags(), QScriptValue::PropertyFlags(QScriptValue::ReadOnly | QScriptValue::SkipInEnumeration | QScriptValue::Undeletable)); - - it.previous(); - QCOMPARE(it.hasPrevious(), length > 0); - for (int i = length - 1; i >= 0; --i) { - it.previous(); - QString indexStr = QScriptValue(&engine, i).toString(); - QCOMPARE(it.name(), indexStr); - QCOMPARE(it.flags(), obj.propertyFlags(indexStr)); - QCOMPARE(it.value().strictlyEquals(obj.property(indexStr)), true); - QCOMPARE(it.hasPrevious(), i > 0); - } - QCOMPARE(it.hasPrevious(), false); -} - -void tst_QScriptValueIterator::assignObjectToIterator() -{ - QScriptEngine eng; - QScriptValue obj1 = eng.newObject(); - obj1.setProperty("foo", 123); - QScriptValue obj2 = eng.newObject(); - obj2.setProperty("bar", 456); - - QScriptValueIterator it(obj1); - QVERIFY(it.hasNext()); - it.next(); - it = obj2; - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("bar")); - - it = obj1; - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("foo")); - - it = obj2; - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("bar")); - - it = obj2; - QVERIFY(it.hasNext()); - it.next(); - QCOMPARE(it.name(), QString::fromLatin1("bar")); -} - -QTEST_MAIN(tst_QScriptValueIterator) -#include "tst_qscriptvalueiterator.moc" - -#endif // tst_qscriptvalueiterator_h diff --git a/JavaScriptCore/qt/tests/tests.pri b/JavaScriptCore/qt/tests/tests.pri deleted file mode 100644 index 5af3383..0000000 --- a/JavaScriptCore/qt/tests/tests.pri +++ /dev/null @@ -1,19 +0,0 @@ -QMAKE_RPATHDIR = $$OUTPUT_DIR/lib $$QMAKE_RPATHDIR -QMAKE_LIBDIR = $$OUTPUT_DIR/lib $$QMAKE_LIBDIR -mac:!static:contains(QT_CONFIG, qt_framework):!CONFIG(webkit_no_framework) { - LIBS += -framework QtScript - QMAKE_FRAMEWORKPATH = $$OUTPUT_DIR/lib $$QMAKE_FRAMEWORKPATH -} else { - win32-*|wince* { - LIBS += -lQtScript$${QT_MAJOR_VERSION} - } else { - LIBS += -lQtScript - } -} - -CONFIG(release, debug|release) { - DEFINES += NDEBUG -} - -INCLUDEPATH += $$PWD/../api - diff --git a/JavaScriptCore/qt/tests/tests.pro b/JavaScriptCore/qt/tests/tests.pro deleted file mode 100644 index 6d5559b..0000000 --- a/JavaScriptCore/qt/tests/tests.pro +++ /dev/null @@ -1,5 +0,0 @@ -TEMPLATE = subdirs -SUBDIRS = qscriptengine \ - qscriptvalue \ - qscriptvalueiterator \ - qscriptstring |