/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
**
**
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
/****************************************************************************
*************** This file has been generated. DO NOT MODIFY! ****************
****************************************************************************/
#include "tst_qscriptvalue.h"
void tst_QScriptValue::toString_initData()
{
QTest::addColumn<QString>("expected");
initScriptValues();
}
static 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)",
"engine->newDate(QDateTime())",
"engine->newQMetaObject(&QObject::staticMetaObject)",
"engine->newVariant(QVariant())",
"engine->newVariant(QVariant(123))",
"engine->newVariant(QVariant(false))",
"engine->newQObject(0)",
"engine->newQObject(engine)",};
static 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]", "",
",,,,,,,,,", "Invalid Date",
"[object QMetaObject]", "undefined",
"123", "false",
"null", "QScriptEngine(name = \"\")", };
void tst_QScriptValue::toString_makeData(const char* expr)
{
static QHash<QString, QString> toString;
if (toString.isEmpty()) {
toString.reserve(142);
for (unsigned i = 0; i < 142; ++i)
toString.insert(toString_tagArray[i], toString_valueArray[i]);
}
newRow(expr) << toString.value(expr);
}
void tst_QScriptValue::toString_test(const char*, const QScriptValue& value)
{
QFETCH(QString, expected);
QCOMPARE(value.toString(), expected);
QCOMPARE(value.toString(), expected);
}
DEFINE_TEST_FUNCTION(toString)
void tst_QScriptValue::toNumber_initData()
{
QTest::addColumn<qsreal>("expected");
initScriptValues();
}
static 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)",
"engine->newDate(QDateTime())",
"engine->newQMetaObject(&QObject::staticMetaObject)",
"engine->newVariant(QVariant())",
"engine->newVariant(QVariant(123))",
"engine->newVariant(QVariant(false))",
"engine->newQObject(0)",
"engine->newQObject(engine)",};
static 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(), qQNaN(), qQNaN(), qQNaN(), 123, 0,
0, qQNaN(), };
void tst_QScriptValue::toNumber_makeData(const char* expr)
{
static QHash<QString, qsreal> toNumber;
if (toNumber.isEmpty()) {
toNumber.reserve(142);
for (unsigned i = 0; i < 142; ++i)
toNumber.insert(toNumber_tagArray[i], toNumber_valueArray[i]);
}
newRow(expr) << toNumber.value(expr);
}
void tst_QScriptValue::toNumber_test(const char*, const 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);
}
DEFINE_TEST_FUNCTION(toNumber)
void tst_QScriptValue::toBool_initData()
{
QTest::addColumn<bool>("expected");
initScriptValues();
}
static 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)",
"engine->newDate(QDateTime())",
"engine->newQMetaObject(&QObject::staticMetaObject)",
"engine->newVariant(QVariant())",
"engine->newVariant(QVariant(123))",
"engine->newVariant(QVariant(false))",
"engine->newQObject(0)",
"engine->newQObject(engine)",};
static 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, true,
true, true,
true, true,
false, true, };
void tst_QScriptValue::toBool_makeData(const char* expr)
{
static QHash<QString, bool> toBool;
if (toBool.isEmpty()) {
toBool.reserve(142);
for (unsigned i = 0; i < 142; ++i)
toBool.insert(toBool_tagArray[i], toBool_valueArray[i]);
}
newRow(expr) << toBool.value(expr);
}
void tst_QScriptValue::toBool_test(const char*, const QScriptValue& value)
{
QFETCH(bool, expected);
QCOMPARE(value.toBool(), expected);
QCOMPARE(value.toBool(), expected);
}
DEFINE_TEST_FUNCTION(toBool)
void tst_QScriptValue::toBoolean_initData()
{
QTest::addColumn<bool>("expected");
initScriptValues();
}
static 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)",
"engine->newDate(QDateTime())",
"engine->newQMetaObject(&QObject::staticMetaObject)",
"engine->newVariant(QVariant())",
"engine->newVariant(QVariant(123))",
"engine->newVariant(QVariant(false))",
"engine->newQObject(0)",
"engine->newQObject(engine)",};
static 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, true,
true, true,
true, true,
false, true, };
void tst_QScriptValue::toBoolean_makeData(const char* expr)
{
static QHash<QString, bool> toBoolean;
if (toBoolean.isEmpty()) {
toBoolean.reserve(142);
for (unsigned i = 0; i < 142; ++i)
toBoolean.insert(toBoolean_tagArray[i], toBoolean_valueArray[i]);
}
newRow(expr) << toBoolean.value(expr);
}
void tst_QScriptValue::toBoolean_test(const char*, const QScriptValue& value)
{
QFETCH(bool, expected);
QCOMPARE(value.toBoolean(), expected);
QCOMPARE(value.toBoolean(), expected);
}
DEFINE_TEST_FUNCTION(toBoolean)
void tst_QScriptValue::toInteger_initData()
{
QTest::addColumn<qsreal>("expected");
initScriptValues();
}
static 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)",
"engine->newDate(QDateTime())",
"engine->newQMetaObject(&QObject::staticMetaObject)",
"engine->newVariant(QVariant())",
"engine->newVariant(QVariant(123))",
"engine->newVariant(QVariant(false))",
"engine->newQObject(0)",
"engine->newQObject(engine)",};
static 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, 0, 0, 0, 123, 0,
0, 0, };
void tst_QScriptValue::toInteger_makeData(const char* expr)
{
static QHash<QString, qsreal> toInteger;
if (toInteger.isEmpty()) {
toInteger.reserve(142);
for (unsigned i = 0; i < 142; ++i)
toInteger.insert(toInteger_tagArray[i], toInteger_valueArray[i]);
}
newRow(expr) << toInteger.value(expr);
}
void tst_QScriptValue::toInteger_test(const char*, const 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);
}
DEFINE_TEST_FUNCTION(toInteger)
void tst_QScriptValue::toInt32_initData()
{
QTest::addColumn<qint32>("expected");
initScriptValues();
}
static 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)",
"engine->newDate(QDateTime())",
"engine->newQMetaObject(&QObject::staticMetaObject)",
"engine->newVariant(QVariant())",
"engine->newVariant(QVariant(123))",
"engine->newVariant(QVariant(false))",
"engine->newQObject(0)",
"engine->newQObject(engine)",};
static 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, 0,
0, 0,
123, 0,
0, 0, };
void tst_QScriptValue::toInt32_makeData(const char* expr)
{
static QHash<QString, qint32> toInt32;
if (toInt32.isEmpty()) {
toInt32.reserve(142);
for (unsigned i = 0; i < 142; ++i)
toInt32.insert(toInt32_tagArray[i], toInt32_valueArray[i]);
}
newRow(expr) << toInt32.value(expr);
}
void tst_QScriptValue::toInt32_test(const char*, const QScriptValue& value)
{
QFETCH(qint32, expected);
QCOMPARE(value.toInt32(), expected);
QCOMPARE(value.toInt32(), expected);
}
DEFINE_TEST_FUNCTION(toInt32)
void tst_QScriptValue::toUInt32_initData()
{
QTest::addColumn<quint32>("expected");
initScriptValues();
}
static 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)",
"engine->newDate(QDateTime())",
"engine->newQMetaObject(&QObject::staticMetaObject)",
"engine->newVariant(QVariant())",
"engine->newVariant(QVariant(123))",
"engine->newVariant(QVariant(false))",
"engine->newQObject(0)",
"engine->newQObject(engine)",};
static 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, 0,
0, 0,
123, 0,
0, 0, };
void tst_QScriptValue::toUInt32_makeData(const char* expr)
{
static QHash<QString, quint32> toUInt32;
if (toUInt32.isEmpty()) {
toUInt32.reserve(142);
for (unsigned i = 0; i < 142; ++i)
toUInt32.insert(toUInt32_tagArray[i], toUInt32_valueArray[i]);
}
newRow(expr) << toUInt32.value(expr);
}
void tst_QScriptValue::toUInt32_test(const char*, const QScriptValue& value)
{
QFETCH(quint32, expected);
QCOMPARE(value.toUInt32(), expected);
QCOMPARE(value.toUInt32(), expected);
}
DEFINE_TEST_FUNCTION(toUInt32)
void tst_QScriptValue::toUInt16_initData()
{
QTest::addColumn<quint16>("expected");
initScriptValues();
}
static 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)",
"engine->newDate(QDateTime())",
"engine->newQMetaObject(&QObject::staticMetaObject)",
"engine->newVariant(QVariant())",
"engine->newVariant(QVariant(123))",
"engine->newVariant(QVariant(false))",
"engine->newQObject(0)",
"engine->newQObject(engine)",};
static 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, 0,
0, 0,
123, 0,
0, 0, };
void tst_QScriptValue::toUInt16_makeData(const char* expr)
{
static QHash<QString, quint16> toUInt16;
if (toUInt16.isEmpty()) {
toUInt16.reserve(142);
for (unsigned i = 0; i < 142; ++i)
toUInt16.insert(toUInt16_tagArray[i], toUInt16_valueArray[i]);
}
newRow(expr) << toUInt16.value(expr);
}
void tst_QScriptValue::toUInt16_test(const char*, const QScriptValue& value)
{
QFETCH(quint16, expected);
QCOMPARE(value.toUInt16(), expected);
QCOMPARE(value.toUInt16(), expected);
}
DEFINE_TEST_FUNCTION(toUInt16)