summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2010-06-20 21:48:08 (GMT)
committerSimon Hausmann <simon.hausmann@nokia.com>2010-06-20 21:48:08 (GMT)
commit7a3b4a0bfed6365f0c5bd2f3b99a5585d0ef9eb8 (patch)
tree71ff301261b2b6d9fe6c72098b02bb943dd0a281 /src
parent6d10cf218b22052e380fff18255953241b821ff3 (diff)
downloadQt-7a3b4a0bfed6365f0c5bd2f3b99a5585d0ef9eb8.zip
Qt-7a3b4a0bfed6365f0c5bd2f3b99a5585d0ef9eb8.tar.gz
Qt-7a3b4a0bfed6365f0c5bd2f3b99a5585d0ef9eb8.tar.bz2
Updated WebKit to 19de3d2848b715f937eb375a078672cc8e9b8185
* Don't include QtScript Phoenix here until it's ready for release :)
Diffstat (limited to 'src')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/QtScript.pro46
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptconverter_p.h132
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine.cpp145
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine.h56
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine_p.cpp71
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine_p.h121
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram.cpp136
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram.h53
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram_p.h129
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring.cpp131
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring.h58
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring_p.h112
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult.cpp142
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult.h50
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult_p.h73
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue.cpp556
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue.h99
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue_p.h754
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/api/qtscriptglobal.h44
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptengine/qscriptengine.pro8
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp275
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptstring/qscriptstring.pro7
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptstring/tst_qscriptstring.cpp175
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/qscriptvalue.pro12
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.cpp435
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h196
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp1922
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/tests/tests.pri19
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/qt/tests/tests.pro4
29 files changed, 0 insertions, 5961 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/QtScript.pro b/src/3rdparty/webkit/JavaScriptCore/qt/api/QtScript.pro
deleted file mode 100644
index 3c2691e..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/QtScript.pro
+++ /dev/null
@@ -1,46 +0,0 @@
-TARGET = QtScript
-TEMPLATE = lib
-QT = core
-
-INCLUDEPATH += $$PWD
-
-CONFIG += building-libs
-
-isEmpty(JSC_GENERATED_SOURCES_DIR):JSC_GENERATED_SOURCES_DIR = ../../generated
-!CONFIG(release, debug|release) {
- OBJECTS_DIR = obj/debug
-} else { # Release
- OBJECTS_DIR = obj/release
-}
-
-isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../..
-include($$PWD/../../../WebKit.pri)
-
-include($$PWD/../../JavaScriptCore.pri)
-addJavaScriptCoreLib(../..)
-
-INCLUDEPATH += $$PWD/../../API
-
-SOURCES += $$PWD/qscriptengine.cpp \
- $$PWD/qscriptengine_p.cpp \
- $$PWD/qscriptvalue.cpp \
- $$PWD/qscriptstring.cpp \
- $$PWD/qscriptprogram.cpp \
- $$PWD/qscriptsyntaxcheckresult.cpp \
-
-HEADERS += $$PWD/qtscriptglobal.h \
- $$PWD/qscriptengine.h \
- $$PWD/qscriptengine_p.h \
- $$PWD/qscriptvalue.h \
- $$PWD/qscriptvalue_p.h \
- $$PWD/qscriptconverter_p.h \
- $$PWD/qscriptstring.h \
- $$PWD/qscriptstring_p.h \
- $$PWD/qscriptprogram.h \
- $$PWD/qscriptprogram_p.h \
- $$PWD/qscriptsyntaxcheckresult.h \
-
-
-!static: DEFINES += QT_MAKEDLL
-
-DESTDIR = $$OUTPUT_DIR/lib
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptconverter_p.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptconverter_p.h
deleted file mode 100644
index cd86e20..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptconverter_p.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- Copyright (C) 2008 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 qscriptconverter_p_h
-#define qscriptconverter_p_h
-
-#include <JavaScriptCore/JavaScript.h>
-#include <QtCore/qnumeric.h>
-#include <QtCore/qstring.h>
-#include <QtCore/qvarlengtharray.h>
-
-extern char *qdtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char **digits_str);
-
-/*
- \internal
- \class QScriptConverter
- QScriptValue and QScriptEngine helper class. This class's responsibility is to convert values
- between JS values and Qt/C++ values.
-
- This is a nice way to inline these functions in both QScriptValue and QScriptEngine.
-*/
-class QScriptConverter {
-public:
- static quint32 toArrayIndex(const JSStringRef jsstring)
- {
- // FIXME this function should be exported by JSC C API.
- QString qstring = toString(jsstring);
-
- bool ok;
- quint32 idx = qstring.toUInt(&ok);
- if (!ok || toString(idx) != qstring)
- idx = 0xffffffff;
-
- return idx;
- }
-
- static QString toString(const JSStringRef str)
- {
- return QString(reinterpret_cast<const QChar*>(JSStringGetCharactersPtr(str)), JSStringGetLength(str));
- }
- static JSStringRef toString(const QString& str)
- {
- return JSStringCreateWithUTF8CString(str.toUtf8().constData());
- }
- static JSStringRef toString(const char* str)
- {
- return JSStringCreateWithUTF8CString(str);
- }
- static QString toString(double value)
- {
- // FIXME this should be easier. The ideal fix is to create
- // a new function in JSC C API which could cover the functionality.
-
- if (qIsNaN(value))
- return QString::fromLatin1("NaN");
- if (qIsInf(value))
- return QString::fromLatin1(value < 0 ? "-Infinity" : "Infinity");
- if (!value)
- return QString::fromLatin1("0");
-
- QVarLengthArray<char, 25> buf;
- int decpt;
- int sign;
- char* result = 0;
- char* endresult;
- (void)qdtoa(value, 0, 0, &decpt, &sign, &endresult, &result);
-
- if (!result)
- return QString();
-
- int resultLen = endresult - result;
- if (decpt <= 0 && decpt > -6) {
- buf.resize(-decpt + 2 + sign);
- qMemSet(buf.data(), '0', -decpt + 2 + sign);
- if (sign) // fix the sign.
- buf[0] = '-';
- buf[sign + 1] = '.';
- buf.append(result, resultLen);
- } else {
- if (sign)
- buf.append('-');
- int length = buf.size() - sign + resultLen;
- if (decpt <= 21 && decpt > 0) {
- if (length <= decpt) {
- const char* zeros = "0000000000000000000000000";
- buf.append(result, resultLen);
- buf.append(zeros, decpt - length);
- } else {
- buf.append(result, decpt);
- buf.append('.');
- buf.append(result + decpt, resultLen - decpt);
- }
- } else if (result[0] >= '0' && result[0] <= '9') {
- if (length > 1) {
- buf.append(result, 1);
- buf.append('.');
- buf.append(result + 1, resultLen - 1);
- } else
- buf.append(result, resultLen);
- buf.append('e');
- buf.append(decpt >= 0 ? '+' : '-');
- int e = qAbs(decpt - 1);
- if (e >= 100)
- buf.append('0' + e / 100);
- if (e >= 10)
- buf.append('0' + (e % 100) / 10);
- buf.append('0' + e % 10);
- }
- }
- free(result);
- buf.append(0);
- return QString::fromLatin1(buf.constData());
- }
-};
-
-#endif // qscriptconverter_p_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine.cpp b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine.cpp
deleted file mode 100644
index 6a3edc1..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine.cpp
+++ /dev/null
@@ -1,145 +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 "config.h"
-
-#include "qscriptengine.h"
-
-#include "qscriptengine_p.h"
-#include "qscriptprogram_p.h"
-#include "qscriptsyntaxcheckresult_p.h"
-#include "qscriptvalue_p.h"
-
-/*!
- Constructs a QScriptEngine object.
-
- The globalObject() is initialized to have properties as described in ECMA-262, Section 15.1.
-*/
-QScriptEngine::QScriptEngine()
- : d_ptr(new QScriptEnginePrivate(this))
-{
-}
-
-/*!
- Destroys this QScriptEngine.
-*/
-QScriptEngine::~QScriptEngine()
-{
-}
-
-/*!
- Checks the syntax of the given \a program. Returns a
- QScriptSyntaxCheckResult object that contains the result of the check.
-*/
-QScriptSyntaxCheckResult QScriptEngine::checkSyntax(const QString &program)
-{
- // FIXME This is not optimal.
- // The JSC C API needs a context to perform a syntax check, it means that a QScriptEnginePrivate
- // had to be created. This function is static so we have to create QScriptEnginePrivate for each
- // call. We can't remove the "static" for compatibility reason, at least up to Qt5.
- // QScriptSyntaxCheckResultPrivate takes ownership of newly created engine. The engine will be
- // kept as long as it is needed for lazy evaluation of properties of
- // the QScriptSyntaxCheckResultPrivate.
- QScriptEnginePrivate* engine = new QScriptEnginePrivate(/* q_ptr */ 0);
- return QScriptSyntaxCheckResultPrivate::get(engine->checkSyntax(program));
-}
-
-/*!
- Evaluates \a program, using \a lineNumber as the base line number,
- and returns the result of the evaluation.
-
- The script code will be evaluated in the current context.
-
- The evaluation of \a program can cause an exception in the
- engine; in this case the return value will be the exception
- that was thrown (typically an \c{Error} object). You can call
- hasUncaughtException() to determine if an exception occurred in
- the last call to evaluate().
-
- \a lineNumber is used to specify a starting line number for \a
- program; line number information reported by the engine that pertain
- to this evaluation (e.g. uncaughtExceptionLineNumber()) will be
- based on this argument. For example, if \a program consists of two
- lines of code, and the statement on the second line causes a script
- exception, uncaughtExceptionLineNumber() would return the given \a
- lineNumber plus one. When no starting line number is specified, line
- numbers will be 1-based.
-
- \a fileName is used for error reporting. For example in error objects
- the file name is accessible through the "fileName" property if it's
- provided with this function.
-*/
-QScriptValue QScriptEngine::evaluate(const QString& program, const QString& fileName, int lineNumber)
-{
- return QScriptValuePrivate::get(d_ptr->evaluate(program, fileName, lineNumber));
-}
-
-QScriptValue QScriptEngine::evaluate(const QScriptProgram& program)
-{
- return QScriptValuePrivate::get(d_ptr->evaluate(QScriptProgramPrivate::get(program)));
-}
-
-/*!
- Runs the garbage collector.
-
- The garbage collector will attempt to reclaim memory by locating and disposing of objects that are
- no longer reachable in the script environment.
-
- Normally you don't need to call this function; the garbage collector will automatically be invoked
- when the QScriptEngine decides that it's wise to do so (i.e. when a certain number of new objects
- have been created). However, you can call this function to explicitly request that garbage
- collection should be performed as soon as possible.
-*/
-void QScriptEngine::collectGarbage()
-{
- d_ptr->collectGarbage();
-}
-
-/*!
- Returns a handle that represents the given string, \a str.
-
- QScriptString can be used to quickly look up properties, and
- compare property names, of script objects.
-
- \sa QScriptValue::property()
-*/
-QScriptString QScriptEngine::toStringHandle(const QString& str)
-{
- return QScriptStringPrivate::get(d_ptr->toStringHandle(str));
-}
-
-/*!
- Returns a QScriptValue of the primitive type Null.
-
- \sa undefinedValue()
-*/
-QScriptValue QScriptEngine::nullValue()
-{
- return QScriptValue(this, QScriptValue::NullValue);
-}
-
-/*!
- Returns a QScriptValue of the primitive type Undefined.
-
- \sa nullValue()
-*/
-QScriptValue QScriptEngine::undefinedValue()
-{
- return QScriptValue(this, QScriptValue::UndefinedValue);
-}
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine.h
deleted file mode 100644
index ee066c9..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine.h
+++ /dev/null
@@ -1,56 +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.
-*/
-
-#ifndef qscriptengine_h
-#define qscriptengine_h
-
-#include "qscriptprogram.h"
-#include "qscriptstring.h"
-#include "qscriptsyntaxcheckresult.h"
-#include <QtCore/qobject.h>
-#include <QtCore/qshareddata.h>
-#include <QtCore/qstring.h>
-
-class QScriptValue;
-class QScriptEnginePrivate;
-
-// Internal typedef
-typedef QExplicitlySharedDataPointer<QScriptEnginePrivate> QScriptEnginePtr;
-
-class QScriptEngine : public QObject {
-public:
- QScriptEngine();
- ~QScriptEngine();
-
- static QScriptSyntaxCheckResult checkSyntax(const QString& program);
- QScriptValue evaluate(const QString& program, const QString& fileName = QString(), int lineNumber = 1);
- QScriptValue evaluate(const QScriptProgram& program);
- void collectGarbage();
-
- QScriptString toStringHandle(const QString& str);
-
- QScriptValue nullValue();
- QScriptValue undefinedValue();
-private:
- friend class QScriptEnginePrivate;
-
- QScriptEnginePtr d_ptr;
-};
-
-#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine_p.cpp b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine_p.cpp
deleted file mode 100644
index 32551b0..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine_p.cpp
+++ /dev/null
@@ -1,71 +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 "config.h"
-
-#include "qscriptengine_p.h"
-
-#include "qscriptprogram_p.h"
-#include "qscriptvalue_p.h"
-
-/*!
- Constructs a default QScriptEnginePrivate object, a new global context will be created.
- \internal
-*/
-QScriptEnginePrivate::QScriptEnginePrivate(const QScriptEngine* engine)
- : q_ptr(const_cast<QScriptEngine*>(engine))
- , m_context(JSGlobalContextCreate(0))
-{
-}
-
-QScriptEnginePrivate::~QScriptEnginePrivate()
-{
- JSGlobalContextRelease(m_context);
-}
-
-QScriptSyntaxCheckResultPrivate* QScriptEnginePrivate::checkSyntax(const QString& program)
-{
- JSValueRef exception;
- if (JSCheckScriptSyntax(m_context, QScriptConverter::toString(program), /* url */ 0, /* starting line */ 1, &exception))
- return new QScriptSyntaxCheckResultPrivate(this);
- JSValueProtect(m_context, exception);
- return new QScriptSyntaxCheckResultPrivate(this, const_cast<JSObjectRef>(exception));
-}
-
-/*!
- Evaluates program and returns the result of the evaluation.
- \internal
-*/
-QScriptValuePrivate* QScriptEnginePrivate::evaluate(const QString& program, const QString& fileName, int lineNumber)
-{
- JSStringRef script = QScriptConverter::toString(program);
- JSStringRef file = QScriptConverter::toString(fileName);
- return new QScriptValuePrivate(this, evaluate(script, file, lineNumber));
-}
-
-/*!
- Evaluates program and returns the result of the evaluation.
- \internal
-*/
-QScriptValuePrivate* QScriptEnginePrivate::evaluate(const QScriptProgramPrivate* program)
-{
- if (program->isNull())
- return new QScriptValuePrivate;
- return new QScriptValuePrivate(this, evaluate(program->program(), program->file(), program->line()));
-}
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine_p.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine_p.h
deleted file mode 100644
index bf958ba..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptengine_p.h
+++ /dev/null
@@ -1,121 +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.
-*/
-
-#ifndef qscriptengine_p_h
-#define qscriptengine_p_h
-
-#include "qscriptconverter_p.h"
-#include "qscriptengine.h"
-#include "qscriptstring_p.h"
-#include "qscriptsyntaxcheckresult_p.h"
-#include "qscriptvalue.h"
-#include <JavaScriptCore/JavaScript.h>
-#include <QtCore/qshareddata.h>
-#include <QtCore/qstring.h>
-
-class QScriptEngine;
-class QScriptSyntaxCheckResultPrivate;
-
-class QScriptEnginePrivate : public QSharedData {
-public:
- static QScriptEnginePtr get(const QScriptEngine* q) { Q_ASSERT(q); return q->d_ptr; }
- static QScriptEngine* get(const QScriptEnginePrivate* d) { Q_ASSERT(d); return d->q_ptr; }
-
- QScriptEnginePrivate(const QScriptEngine*);
- ~QScriptEnginePrivate();
-
- QScriptSyntaxCheckResultPrivate* checkSyntax(const QString& program);
- QScriptValuePrivate* evaluate(const QString& program, const QString& fileName, int lineNumber);
- QScriptValuePrivate* evaluate(const QScriptProgramPrivate* program);
- inline JSValueRef evaluate(JSStringRef program, JSStringRef fileName, int lineNumber);
- inline void collectGarbage();
-
- inline JSValueRef makeJSValue(double number) const;
- inline JSValueRef makeJSValue(int number) const;
- inline JSValueRef makeJSValue(uint number) const;
- inline JSValueRef makeJSValue(const QString& string) const;
- inline JSValueRef makeJSValue(bool number) const;
- inline JSValueRef makeJSValue(QScriptValue::SpecialValue value) const;
-
- inline QScriptStringPrivate* toStringHandle(const QString& str) const;
-
- inline JSGlobalContextRef context() const;
-private:
- QScriptEngine* q_ptr;
- JSGlobalContextRef m_context;
-};
-
-
-JSValueRef QScriptEnginePrivate::evaluate(JSStringRef program, JSStringRef fileName, int lineNumber)
-{
- JSValueRef exception;
- JSValueRef result = JSEvaluateScript(m_context, program, /* Global Object */ 0, fileName, lineNumber, &exception);
- if (!result)
- return exception; // returns an exception
- return result;
-}
-
-void QScriptEnginePrivate::collectGarbage()
-{
- JSGarbageCollect(m_context);
-}
-
-JSValueRef QScriptEnginePrivate::makeJSValue(double number) const
-{
- return JSValueMakeNumber(m_context, number);
-}
-
-JSValueRef QScriptEnginePrivate::makeJSValue(int number) const
-{
- return JSValueMakeNumber(m_context, number);
-}
-
-JSValueRef QScriptEnginePrivate::makeJSValue(uint number) const
-{
- return JSValueMakeNumber(m_context, number);
-}
-
-JSValueRef QScriptEnginePrivate::makeJSValue(const QString& string) const
-{
- return JSValueMakeString(m_context, QScriptConverter::toString(string));
-}
-
-JSValueRef QScriptEnginePrivate::makeJSValue(bool value) const
-{
- return JSValueMakeBoolean(m_context, value);
-}
-
-JSValueRef QScriptEnginePrivate::makeJSValue(QScriptValue::SpecialValue value) const
-{
- if (value == QScriptValue::NullValue)
- return JSValueMakeNull(m_context);
- return JSValueMakeUndefined(m_context);
-}
-
-QScriptStringPrivate* QScriptEnginePrivate::toStringHandle(const QString& str) const
-{
- return new QScriptStringPrivate(str);
-}
-
-JSGlobalContextRef QScriptEnginePrivate::context() const
-{
- return m_context;
-}
-
-#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram.cpp b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram.cpp
deleted file mode 100644
index d7d4948..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram.cpp
+++ /dev/null
@@ -1,136 +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.
-*/
-
-#include "config.h"
-
-#include "qscriptprogram.h"
-
-#include "qscriptprogram_p.h"
-
-/*!
- \internal
-
- \class QScriptProgram
-
- \brief The QScriptProgram class encapsulates a Qt Script program.
-
- \ingroup script
-
- QScriptProgram retains the compiled representation of the script if
- possible. Thus, QScriptProgram can be used to evaluate the same
- script multiple times more efficiently.
-
- \code
- QScriptEngine engine;
- QScriptProgram program("1 + 2");
- QScriptValue result = engine.evaluate(program);
- \endcode
-*/
-
-/*!
- Constructs a null QScriptProgram.
-*/
-QScriptProgram::QScriptProgram()
- : d_ptr(new QScriptProgramPrivate)
-{}
-
-/*!
- Constructs a new QScriptProgram with the given \a sourceCode, \a
- fileName and \a firstLineNumber.
-*/
-QScriptProgram::QScriptProgram(const QString& sourceCode,
- const QString fileName,
- int firstLineNumber)
- : d_ptr(new QScriptProgramPrivate(sourceCode, fileName, firstLineNumber))
-{}
-
-/*!
- Destroys this QScriptProgram.
-*/
-QScriptProgram::~QScriptProgram()
-{}
-
-/*!
- Constructs a new QScriptProgram that is a copy of \a other.
-*/
-QScriptProgram::QScriptProgram(const QScriptProgram& other)
-{
- d_ptr = other.d_ptr;
-}
-
-/*!
- Assigns the \a other value to this QScriptProgram.
-*/
-QScriptProgram& QScriptProgram::operator=(const QScriptProgram& other)
-{
- d_ptr = other.d_ptr;
- return *this;
-}
-
-/*!
- Returns true if this QScriptProgram is null; otherwise
- returns false.
-*/
-bool QScriptProgram::isNull() const
-{
- return d_ptr->isNull();
-}
-
-/*!
- Returns the source code of this program.
-*/
-QString QScriptProgram::sourceCode() const
-{
- return d_ptr->sourceCode();
-}
-
-/*!
- Returns the filename associated with this program.
-*/
-QString QScriptProgram::fileName() const
-{
- return d_ptr->fileName();
-}
-
-/*!
- Returns the line number associated with this program.
-*/
-int QScriptProgram::firstLineNumber() const
-{
- return d_ptr->firstLineNumber();
-}
-
-/*!
- Returns true if this QScriptProgram is equal to \a other;
- otherwise returns false.
-*/
-bool QScriptProgram::operator==(const QScriptProgram& other) const
-{
- return d_ptr == other.d_ptr || *d_ptr == *other.d_ptr;
-}
-
-/*!
- Returns true if this QScriptProgram is not equal to \a other;
- otherwise returns false.
-*/
-bool QScriptProgram::operator!=(const QScriptProgram& other) const
-{
- return d_ptr != other.d_ptr && *d_ptr != *other.d_ptr;
-}
-
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram.h
deleted file mode 100644
index 93c8a3c..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram.h
+++ /dev/null
@@ -1,53 +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 qscriptprogram_h
-#define qscriptprogram_h
-
-#include "qtscriptglobal.h"
-#include <QtCore/qshareddata.h>
-#include <QtCore/qstring.h>
-
-class QScriptProgramPrivate;
-class Q_JAVASCRIPT_EXPORT QScriptProgram {
-public:
- QScriptProgram();
- QScriptProgram(const QString& sourceCode,
- const QString fileName = QString(),
- int firstLineNumber = 1);
- QScriptProgram(const QScriptProgram& other);
- ~QScriptProgram();
-
- QScriptProgram& operator=(const QScriptProgram& other);
-
- bool isNull() const;
-
- QString sourceCode() const;
- QString fileName() const;
- int firstLineNumber() const;
-
- bool operator==(const QScriptProgram& other) const;
- bool operator!=(const QScriptProgram& other) const;
-
-private:
- QExplicitlySharedDataPointer<QScriptProgramPrivate> d_ptr;
- Q_DECLARE_PRIVATE(QScriptProgram)
-};
-
-#endif // qscriptprogram_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram_p.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram_p.h
deleted file mode 100644
index 6e80e85..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptprogram_p.h
+++ /dev/null
@@ -1,129 +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 qscriptprogram_p_h
-#define qscriptprogram_p_h
-
-#include "qscriptconverter_p.h"
-#include "qscriptprogram.h"
-#include <JavaScriptCore/JavaScript.h>
-#include <QtCore/qshareddata.h>
-#include <QtCore/qstring.h>
-
-/*
- FIXME The QScriptProgramPrivate potentially could be much faster. In current implementation we
- gain CPU time only by avoiding QString -> JSStringRef conversion. In the ideal world we should
- have a function inside the JSC C API that could provide us "parse once, execute multiple times"
- functionality.
-*/
-
-class QScriptProgramPrivate : public QSharedData {
-public:
- inline static QScriptProgramPrivate* get(const QScriptProgram& program);
- inline QScriptProgramPrivate();
- inline QScriptProgramPrivate(const QString& sourceCode,
- const QString fileName,
- int firstLineNumber);
-
- inline ~QScriptProgramPrivate();
-
- inline bool isNull() const;
-
- inline QString sourceCode() const;
- inline QString fileName() const;
- inline int firstLineNumber() const;
-
- inline bool operator==(const QScriptProgramPrivate& other) const;
- inline bool operator!=(const QScriptProgramPrivate& other) const;
-
- inline JSStringRef program() const;
- inline JSStringRef file() const;
- inline int line() const;
-private:
- JSStringRef m_program;
- JSStringRef m_fileName;
- int m_line;
-};
-
-QScriptProgramPrivate* QScriptProgramPrivate::get(const QScriptProgram& program)
-{
- return const_cast<QScriptProgramPrivate*>(program.d_ptr.constData());
-}
-
-QScriptProgramPrivate::QScriptProgramPrivate()
- : m_program(0)
- , m_fileName(0)
- , m_line(-1)
-{}
-
-QScriptProgramPrivate::QScriptProgramPrivate(const QString& sourceCode,
- const QString fileName,
- int firstLineNumber)
- : m_program(QScriptConverter::toString(sourceCode))
- , m_fileName(QScriptConverter::toString(fileName))
- , m_line(firstLineNumber)
-{}
-
-QScriptProgramPrivate::~QScriptProgramPrivate()
-{
- if (!isNull()) {
- JSStringRelease(m_program);
- JSStringRelease(m_fileName);
- }
-}
-
-bool QScriptProgramPrivate::isNull() const
-{
- return !m_program;
-}
-
-QString QScriptProgramPrivate::sourceCode() const
-{
- return QScriptConverter::toString(m_program);
-}
-
-QString QScriptProgramPrivate::fileName() const
-{
- return QScriptConverter::toString(m_fileName);
-}
-
-int QScriptProgramPrivate::firstLineNumber() const
-{
- return m_line;
-}
-
-bool QScriptProgramPrivate::operator==(const QScriptProgramPrivate& other) const
-{
- return m_line == other.m_line
- && JSStringIsEqual(m_fileName, other.m_fileName)
- && JSStringIsEqual(m_program, other.m_program);
-}
-
-bool QScriptProgramPrivate::operator!=(const QScriptProgramPrivate& other) const
-{
- return m_line != other.m_line
- || !JSStringIsEqual(m_fileName, other.m_fileName)
- || !JSStringIsEqual(m_program, other.m_program);
-}
-
-JSStringRef QScriptProgramPrivate::program() const { return m_program; }
-JSStringRef QScriptProgramPrivate::file() const {return m_fileName; }
-int QScriptProgramPrivate::line() const { return m_line; }
-
-#endif // qscriptprogram_p_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring.cpp b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring.cpp
deleted file mode 100644
index 83c03c5..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring.cpp
+++ /dev/null
@@ -1,131 +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 "config.h"
-
-#include "qscriptstring.h"
-
-#include "qscriptstring_p.h"
-#include <QtCore/qhash.h>
-
-/*!
- Constructs an invalid QScriptString.
-*/
-QScriptString::QScriptString()
- : d_ptr(new QScriptStringPrivate())
-{
-}
-/*!
- Constructs an QScriptString from internal representation
- \internal
-*/
-QScriptString::QScriptString(QScriptStringPrivate* d)
- : d_ptr(d)
-{
-}
-
-/*!
- Constructs a new QScriptString that is a copy of \a other.
-*/
-QScriptString::QScriptString(const QScriptString& other)
-{
- d_ptr = other.d_ptr;
-}
-
-/*!
- Destroys this QScriptString.
-*/
-QScriptString::~QScriptString()
-{
-}
-
-/*!
- Assigns the \a other value to this QScriptString.
-*/
-QScriptString& QScriptString::operator=(const QScriptString& other)
-{
- d_ptr = other.d_ptr;
- return *this;
-}
-
-/*!
- Returns true if this QScriptString is valid; otherwise
- returns false.
-*/
-bool QScriptString::isValid() const
-{
- return d_ptr->isValid();
-}
-
-/*!
- Returns true if this QScriptString is equal to \a other;
- otherwise returns false.
-*/
-bool QScriptString::operator==(const QScriptString& other) const
-{
- return d_ptr == other.d_ptr || *d_ptr == *(other.d_ptr);
-}
-
-/*!
- Returns true if this QScriptString is not equal to \a other;
- otherwise returns false.
-*/
-bool QScriptString::operator!=(const QScriptString& other) const
-{
- return d_ptr != other.d_ptr || *d_ptr != *(other.d_ptr);
-}
-
-/*!
- Attempts to convert this QScriptString to a QtScript array index,
- and returns the result.
-
- If a conversion error occurs, *\a{ok} is set to false; otherwise
- *\a{ok} is set to true.
-*/
-quint32 QScriptString::toArrayIndex(bool* ok) const
-{
- return d_ptr->toArrayIndex(ok);
-}
-
-/*!
- Returns the string that this QScriptString represents, or a
- null string if this QScriptString is not valid.
-
- \sa isValid()
-*/
-QString QScriptString::toString() const
-{
- return d_ptr->toString();
-}
-
-/*!
- Returns the string that this QScriptString represents, or a
- null string if this QScriptString is not valid.
-
- \sa toString()
-*/
-QScriptString::operator QString() const
-{
- return d_ptr->toString();
-}
-
-uint qHash(const QScriptString& key)
-{
- return qHash(QScriptStringPrivate::get(key)->id());
-}
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring.h
deleted file mode 100644
index 16593bc..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring.h
+++ /dev/null
@@ -1,58 +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 qscriptstring_h
-#define qscriptstring_h
-
-#include "qtscriptglobal.h"
-#include <QtCore/qshareddata.h>
-#include <QtCore/qstring.h>
-
-class QScriptStringPrivate;
-typedef QExplicitlySharedDataPointer<QScriptStringPrivate> QScriptStringPtr;
-
-class Q_JAVASCRIPT_EXPORT QScriptString {
-public:
- QScriptString();
- QScriptString(const QScriptString& other);
- ~QScriptString();
-
- QScriptString& operator=(const QScriptString& other);
-
- bool isValid() const;
-
- bool operator==(const QScriptString& other) const;
- bool operator!=(const QScriptString& other) const;
-
- quint32 toArrayIndex(bool* ok = 0) const;
-
- QString toString() const;
- operator QString() const;
-
-private:
- QScriptString(QScriptStringPrivate* d);
-
- QScriptStringPtr d_ptr;
-
- friend class QScriptStringPrivate;
-};
-
-uint qHash(const QScriptString& key);
-
-#endif // qscriptstring_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring_p.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring_p.h
deleted file mode 100644
index f4fd117..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptstring_p.h
+++ /dev/null
@@ -1,112 +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 qscriptstring_p_h
-#define qscriptstring_p_h
-
-#include "qscriptconverter_p.h"
-#include "qscriptstring.h"
-#include <JavaScriptCore/JavaScript.h>
-#include <QtCore/qnumeric.h>
-#include <QtCore/qshareddata.h>
-
-class QScriptStringPrivate : public QSharedData {
-public:
- inline QScriptStringPrivate();
- inline QScriptStringPrivate(const QString& qtstring);
- inline ~QScriptStringPrivate();
-
- static inline QScriptString get(QScriptStringPrivate* d);
- static inline QScriptStringPtr get(const QScriptString& p);
-
- inline bool isValid() const;
-
- inline bool operator==(const QScriptStringPrivate& other) const;
- inline bool operator!=(const QScriptStringPrivate& other) const;
-
- inline quint32 toArrayIndex(bool* ok = 0) const;
-
- inline QString toString() const;
-
- inline quint64 id() const;
-
-private:
- JSStringRef m_string;
-};
-
-
-QScriptStringPrivate::QScriptStringPrivate()
- : m_string(0)
-{}
-
-QScriptStringPrivate::QScriptStringPrivate(const QString& qtstring)
- : m_string(JSStringRetain(QScriptConverter::toString(qtstring)))
-{}
-
-QScriptStringPrivate::~QScriptStringPrivate()
-{
- if (isValid())
- JSStringRelease(m_string);
-}
-
-QScriptString QScriptStringPrivate::get(QScriptStringPrivate* d)
-{
- Q_ASSERT(d);
- return QScriptString(d);
-}
-
-QScriptStringPtr QScriptStringPrivate::get(const QScriptString& p)
-{
- return p.d_ptr;
-}
-
-bool QScriptStringPrivate::isValid() const
-{
- return m_string;
-}
-
-bool QScriptStringPrivate::operator==(const QScriptStringPrivate& other) const
-{
- return isValid() && other.isValid() && JSStringIsEqual(m_string, other.m_string);
-}
-
-bool QScriptStringPrivate::operator!=(const QScriptStringPrivate& other) const
-{
- return isValid() && other.isValid() && !JSStringIsEqual(m_string, other.m_string);
-}
-
-quint32 QScriptStringPrivate::toArrayIndex(bool* ok) const
-{
- quint32 idx = QScriptConverter::toArrayIndex(m_string);
- if (ok)
- *ok = (idx != 0xffffffff);
- return idx;
-}
-
-QString QScriptStringPrivate::toString() const
-{
- return QScriptConverter::toString(m_string);
-}
-
-quint64 QScriptStringPrivate::id() const
-{
- return reinterpret_cast<quint32>(m_string);
-}
-
-#endif // qscriptstring_p_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult.cpp b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult.cpp
deleted file mode 100644
index 2085f5b..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult.cpp
+++ /dev/null
@@ -1,142 +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.
-*/
-
-#include "config.h"
-
-#include "qscriptsyntaxcheckresult.h"
-#include "qscriptsyntaxcheckresult_p.h"
-
-/*!
- \class QScriptSyntaxCheckResult
-
- \brief The QScriptSyntaxCheckResult class provides the result of a script syntax check.
-
- \ingroup script
- \mainclass
-
- QScriptSyntaxCheckResult is returned by QScriptEngine::checkSyntax() to
- provide information about the syntactical (in)correctness of a script.
-*/
-
-/*!
- \enum QScriptSyntaxCheckResult::State
-
- This enum specifies the state of a syntax check.
-
- \value Error The program contains a syntax error.
- \value Intermediate The program is incomplete.
- \value Valid The program is a syntactically correct Qt Script program.
-*/
-
-/*!
- Constructs a new QScriptSyntaxCheckResult from the \a other result.
-*/
-QScriptSyntaxCheckResult::QScriptSyntaxCheckResult(const QScriptSyntaxCheckResult& other)
- : d_ptr(other.d_ptr)
-{}
-
-/*!
- Constructs a new QScriptSyntaxCheckResult from an internal representation.
- \internal
-*/
-QScriptSyntaxCheckResult::QScriptSyntaxCheckResult(QScriptSyntaxCheckResultPrivate* d)
- : d_ptr(d)
-{}
-
-/*!
- Destroys this QScriptSyntaxCheckResult.
-*/
-QScriptSyntaxCheckResult::~QScriptSyntaxCheckResult()
-{}
-
-/*!
- Assigns the \a other result to this QScriptSyntaxCheckResult, and returns a
- reference to this QScriptSyntaxCheckResult.
-*/
-QScriptSyntaxCheckResult& QScriptSyntaxCheckResult::operator=(const QScriptSyntaxCheckResult& other)
-{
- d_ptr = other.d_ptr;
- return *this;
-}
-
-/*!
- Returns the state of this QScriptSyntaxCheckResult.
-*/
-QScriptSyntaxCheckResult::State QScriptSyntaxCheckResult::state() const
-{
- return d_ptr->state();
-}
-
-/*!
- Returns the error line number of this QScriptSyntaxCheckResult, or -1 if
- there is no error.
-
- \sa state(), errorMessage()
-*/
-int QScriptSyntaxCheckResult::errorLineNumber() const
-{
- return d_ptr->errorLineNumber();
-}
-
-/*!
- Returns the error column number of this QScriptSyntaxCheckResult, or -1 if
- there is no error.
-
- \sa state(), errorLineNumber()
-*/
-int QScriptSyntaxCheckResult::errorColumnNumber() const
-{
- return d_ptr->errorColumnNumber();
-}
-
-/*!
- Returns the error message of this QScriptSyntaxCheckResult, or an empty
- string if there is no error.
-
- \sa state(), errorLineNumber()
-*/
-QString QScriptSyntaxCheckResult::errorMessage() const
-{
- return d_ptr->errorMessage();
-}
-
-QScriptSyntaxCheckResultPrivate::~QScriptSyntaxCheckResultPrivate()
-{
- if (m_exception)
- JSValueUnprotect(m_engine->context(), m_exception);
-}
-
-QString QScriptSyntaxCheckResultPrivate::errorMessage() const
-{
- if (m_exception)
- return QScriptConverter::toString(JSValueToStringCopy(m_engine->context(), m_exception, /* exception */ 0));
- return QString();
-}
-
-int QScriptSyntaxCheckResultPrivate::errorLineNumber() const
-{
- if (!m_exception)
- return -1;
- // m_exception is an instance of the Exception so it has "line" attribute.
- JSValueRef line = JSObjectGetProperty(m_engine->context(),
- m_exception,
- QScriptConverter::toString("line"),
- /* exceptions */0);
- return JSValueToNumber(m_engine->context(), line, /* exceptions */0);
-}
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult.h
deleted file mode 100644
index aa57744..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult.h
+++ /dev/null
@@ -1,50 +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 qscriptsyntaxcheckresult_h
-#define qscriptsyntaxcheckresult_h
-
-#include "qtscriptglobal.h"
-#include <QtCore/qshareddata.h>
-
-class QScriptSyntaxCheckResultPrivate;
-class Q_JAVASCRIPT_EXPORT QScriptSyntaxCheckResult {
-public:
- enum State {
- Error,
- Intermediate,
- Valid
- };
-
- QScriptSyntaxCheckResult(const QScriptSyntaxCheckResult& other);
- ~QScriptSyntaxCheckResult();
- QScriptSyntaxCheckResult& operator=(const QScriptSyntaxCheckResult& other);
-
- State state() const;
- int errorLineNumber() const;
- int errorColumnNumber() const;
- QString errorMessage() const;
-
-private:
- QScriptSyntaxCheckResult(QScriptSyntaxCheckResultPrivate* d);
- QExplicitlySharedDataPointer<QScriptSyntaxCheckResultPrivate> d_ptr;
-
- friend class QScriptSyntaxCheckResultPrivate;
-};
-#endif // qscriptsyntaxcheckresult_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult_p.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult_p.h
deleted file mode 100644
index 6e1a131..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptsyntaxcheckresult_p.h
+++ /dev/null
@@ -1,73 +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 qscriptsyntaxcheckresult_p_h
-#define qscriptsyntaxcheckresult_p_h
-
-#include "qscriptconverter_p.h"
-#include "qscriptengine_p.h"
-#include "qscriptsyntaxcheckresult.h"
-#include <JavaScriptCore/JavaScript.h>
-#include <QtCore/qshareddata.h>
-
-class QScriptSyntaxCheckResultPrivate : public QSharedData {
-public:
- static inline QScriptSyntaxCheckResult get(QScriptSyntaxCheckResultPrivate* p);
- inline QScriptSyntaxCheckResultPrivate(const QScriptEnginePrivate* engine);
- inline QScriptSyntaxCheckResultPrivate(const QScriptEnginePrivate* engine, JSObjectRef value);
- ~QScriptSyntaxCheckResultPrivate();
-
- inline QScriptSyntaxCheckResult::State state() const;
- int errorLineNumber() const;
- inline int errorColumnNumber() const;
- QString errorMessage() const;
-private:
- JSObjectRef m_exception;
- QScriptEnginePtr m_engine;
-};
-
-QScriptSyntaxCheckResult QScriptSyntaxCheckResultPrivate::get(QScriptSyntaxCheckResultPrivate* p)
-{
- return QScriptSyntaxCheckResult(p);
-}
-
-QScriptSyntaxCheckResultPrivate::QScriptSyntaxCheckResultPrivate(const QScriptEnginePrivate* engine)
- : m_exception(0)
- , m_engine(const_cast<QScriptEnginePrivate*>(engine))
-{}
-
-QScriptSyntaxCheckResultPrivate::QScriptSyntaxCheckResultPrivate(const QScriptEnginePrivate* engine, JSObjectRef value)
- : m_exception(value)
- , m_engine(const_cast<QScriptEnginePrivate*>(engine))
-{}
-
-QScriptSyntaxCheckResult::State QScriptSyntaxCheckResultPrivate::state() const
-{
- // FIXME This function doesn't return QScriptSyntaxCheckResult::Intermediate
- return m_exception ? QScriptSyntaxCheckResult::Error : QScriptSyntaxCheckResult::Valid;
-}
-
-int QScriptSyntaxCheckResultPrivate::errorColumnNumber() const
-{
- // FIXME JSC C API doesn't expose the error column number.
- return m_exception ? 1 : -1;
-}
-
-
-#endif // qscriptsyntaxcheckresult_p_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue.cpp b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue.cpp
deleted file mode 100644
index 127fe04..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue.cpp
+++ /dev/null
@@ -1,556 +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 "config.h"
-
-#include "qscriptvalue.h"
-
-#include "qscriptengine.h"
-#include "qscriptengine_p.h"
-#include "qscriptvalue_p.h"
-#include <QtCore/qdebug.h>
-
-/*!
- Constructs an invalid value.
-*/
-QScriptValue::QScriptValue()
- : d_ptr(new QScriptValuePrivate())
-{
-}
-
-/*!
- Constructs a new QScriptValue with a boolean \a value.
-*/
-QScriptValue::QScriptValue(bool value)
- : d_ptr(new QScriptValuePrivate(value))
-{
-}
-
-/*!
- Constructs a new QScriptValue with a number \a value.
-*/
-QScriptValue::QScriptValue(int value)
- : d_ptr(new QScriptValuePrivate(value))
-{
-}
-
-/*!
- Constructs a new QScriptValue with a number \a value.
-*/
-QScriptValue::QScriptValue(uint value)
- : d_ptr(new QScriptValuePrivate(value))
-{
-}
-
-/*!
- Constructs a new QScriptValue with a number \a value.
-*/
-QScriptValue::QScriptValue(qsreal value)
- : d_ptr(new QScriptValuePrivate(value))
-{
-}
-
-/*!
- Constructs a new QScriptValue with a string \a value.
-*/
-QScriptValue::QScriptValue(const QString& value)
- : d_ptr(new QScriptValuePrivate(value))
-{
-}
-
-/*!
- Constructs a new QScriptValue with a special \a value.
-*/
-QScriptValue::QScriptValue(SpecialValue value)
- : d_ptr(new QScriptValuePrivate(value))
-{
-}
-
-/*!
- Constructs a new QScriptValue with a string \a value.
-*/
-QScriptValue::QScriptValue(const char* value)
- : d_ptr(new QScriptValuePrivate(QString::fromUtf8(value)))
-{
-}
-
-/*!
- Block automatic convertion to bool
- \internal
-*/
-QScriptValue::QScriptValue(void* d)
-{
- Q_ASSERT(false);
-}
-
-/*!
- Constructs a new QScriptValue from private
- \internal
-*/
-QScriptValue::QScriptValue(QScriptValuePrivate* d)
- : d_ptr(d)
-{
-}
-
-/*!
- \obsolete
-
- Constructs a new QScriptValue with the boolean \a value and
- registers it with the script \a engine.
-*/
-QScriptValue::QScriptValue(QScriptEngine* engine, bool value)
- : d_ptr(new QScriptValuePrivate(engine, value))
-{
-}
-
-/*!
- \obsolete
-
- Constructs a new QScriptValue with the integer \a value and
- registers it with the script \a engine.
-*/
-QScriptValue::QScriptValue(QScriptEngine* engine, int value)
- : d_ptr(new QScriptValuePrivate(engine, value))
-{
-}
-
-/*!
- \obsolete
-
- Constructs a new QScriptValue with the unsigned integer \a value and
- registers it with the script \a engine.
- */
-QScriptValue::QScriptValue(QScriptEngine* engine, uint value)
- : d_ptr(new QScriptValuePrivate(engine, value))
-{
-}
-
-/*!
- \obsolete
-
- Constructs a new QScriptValue with the qsreal \a value and
- registers it with the script \a engine.
-*/
-QScriptValue::QScriptValue(QScriptEngine* engine, qsreal value)
- : d_ptr(new QScriptValuePrivate(engine, value))
-{
-}
-
-/*!
- \obsolete
-
- Constructs a new QScriptValue with the string \a value and
- registers it with the script \a engine.
-*/
-QScriptValue::QScriptValue(QScriptEngine* engine, const QString& value)
- : d_ptr(new QScriptValuePrivate(engine, value))
-{
-}
-
-/*!
- \obsolete
-
- Constructs a new QScriptValue with the string \a value and
- registers it with the script \a engine.
-*/
-QScriptValue::QScriptValue(QScriptEngine* engine, const char* value)
- : d_ptr(new QScriptValuePrivate(engine, QString::fromUtf8(value)))
-{
-}
-
-/*!
- \obsolete
-
- Constructs a new QScriptValue with the special \a value and
- registers it with the script \a engine.
-*/
-QScriptValue::QScriptValue(QScriptEngine* engine, SpecialValue value)
- : d_ptr(new QScriptValuePrivate(engine, value))
-{
-}
-
-/*!
- Constructs a new QScriptValue that is a copy of \a other.
-
- Note that if \a other is an object (i.e., isObject() would return
- true), then only a reference to the underlying object is copied into
- the new script value (i.e., the object itself is not copied).
-*/
-QScriptValue::QScriptValue(const QScriptValue& other)
- : d_ptr(other.d_ptr)
-{
-}
-
-/*!
- Destroys this QScriptValue.
-*/
-QScriptValue::~QScriptValue()
-{
-}
-
-/*!
- Returns true if this QScriptValue is valid; otherwise returns
- false.
-*/
-bool QScriptValue::isValid() const
-{
- return d_ptr->isValid();
-}
-
-/*!
- Returns true if this QScriptValue is of the primitive type Boolean;
- otherwise returns false.
-
- \sa toBool()
-*/
-bool QScriptValue::isBool() const
-{
- return d_ptr->isBool();
-}
-
-/*!
- \obsolete
-
- Use isBool() instead.
- Returns true if this QScriptValue is of the primitive type Boolean;
- otherwise returns false.
-*/
-bool QScriptValue::isBoolean() const
-{
- return d_ptr->isBool();
-}
-
-/*!
- Returns true if this QScriptValue is of the primitive type Number;
- otherwise returns false.
-
- \sa toNumber()
-*/
-bool QScriptValue::isNumber() const
-{
- return d_ptr->isNumber();
-}
-
-/*!
- Returns true if this QScriptValue is of the primitive type Null;
- otherwise returns false.
-
- \sa QScriptEngine::nullValue()
-*/
-bool QScriptValue::isNull() const
-{
- return d_ptr->isNull();
-}
-
-/*!
- Returns true if this QScriptValue is of the primitive type String;
- otherwise returns false.
-
- \sa toString()
-*/
-bool QScriptValue::isString() const
-{
- return d_ptr->isString();
-}
-
-/*!
- Returns true if this QScriptValue is of the primitive type Undefined;
- otherwise returns false.
-
- \sa QScriptEngine::undefinedValue()
-*/
-bool QScriptValue::isUndefined() const
-{
- return d_ptr->isUndefined();
-}
-
-/*!
- Returns true if this QScriptValue is an object of the Error class;
- otherwise returns false.
-
- \sa QScriptContext::throwError()
-*/
-bool QScriptValue::isError() const
-{
- return d_ptr->isError();
-}
-
-/*!
- Returns true if this QScriptValue is of the Object type; otherwise
- returns false.
-
- Note that function values, variant values, and QObject values are
- objects, so this function returns true for such values.
-
- \sa toObject(), QScriptEngine::newObject()
-*/
-bool QScriptValue::isObject() const
-{
- return d_ptr->isObject();
-}
-
-/*!
- Returns true if this QScriptValue is a function; otherwise returns
- false.
-
- \sa call()
-*/
-bool QScriptValue::isFunction() const
-{
- return d_ptr->isFunction();
-}
-
-/*!
- Returns the string value of this QScriptValue, as defined in
- \l{ECMA-262} section 9.8, "ToString".
-
- Note that if this QScriptValue is an object, calling this function
- has side effects on the script engine, since the engine will call
- the object's toString() function (and possibly valueOf()) in an
- attempt to convert the object to a primitive value (possibly
- resulting in an uncaught script exception).
-
- \sa isString()
-*/
-QString QScriptValue::toString() const
-{
- return d_ptr->toString();
-}
-
-/*!
- Returns the number value of this QScriptValue, as defined in
- \l{ECMA-262} section 9.3, "ToNumber".
-
- Note that if this QScriptValue is an object, calling this function
- has side effects on the script engine, since the engine will call
- the object's valueOf() function (and possibly toString()) in an
- attempt to convert the object to a primitive value (possibly
- resulting in an uncaught script exception).
-
- \sa isNumber(), toInteger(), toInt32(), toUInt32(), toUInt16()
-*/
-qsreal QScriptValue::toNumber() const
-{
- return d_ptr->toNumber();
-}
-
-/*!
- Returns the boolean value of this QScriptValue, using the conversion
- rules described in \l{ECMA-262} section 9.2, "ToBoolean".
-
- Note that if this QScriptValue is an object, calling this function
- has side effects on the script engine, since the engine will call
- the object's valueOf() function (and possibly toString()) in an
- attempt to convert the object to a primitive value (possibly
- resulting in an uncaught script exception).
-
- \sa isBool()
-*/
-bool QScriptValue::toBool() const
-{
- return d_ptr->toBool();
-}
-
-/*!
- \obsolete
-
- Use toBool() instead.
-*/
-bool QScriptValue::toBoolean() const
-{
- return d_ptr->toBool();
-}
-
-/*!
- Returns the integer value of this QScriptValue, using the conversion
- rules described in \l{ECMA-262} section 9.4, "ToInteger".
-
- Note that if this QScriptValue is an object, calling this function
- has side effects on the script engine, since the engine will call
- the object's valueOf() function (and possibly toString()) in an
- attempt to convert the object to a primitive value (possibly
- resulting in an uncaught script exception).
-
- \sa toNumber()
-*/
-qsreal QScriptValue::toInteger() const
-{
- return d_ptr->toInteger();
-}
-
-/*!
- Returns the signed 32-bit integer value of this QScriptValue, using
- the conversion rules described in \l{ECMA-262} section 9.5, "ToInt32".
-
- Note that if this QScriptValue is an object, calling this function
- has side effects on the script engine, since the engine will call
- the object's valueOf() function (and possibly toString()) in an
- attempt to convert the object to a primitive value (possibly
- resulting in an uncaught script exception).
-
- \sa toNumber(), toUInt32()
-*/
-qint32 QScriptValue::toInt32() const
-{
- return d_ptr->toInt32();
-}
-
-/*!
- Returns the unsigned 32-bit integer value of this QScriptValue, using
- the conversion rules described in \l{ECMA-262} section 9.6, "ToUint32".
-
- Note that if this QScriptValue is an object, calling this function
- has side effects on the script engine, since the engine will call
- the object's valueOf() function (and possibly toString()) in an
- attempt to convert the object to a primitive value (possibly
- resulting in an uncaught script exception).
-
- \sa toNumber(), toInt32()
-*/
-quint32 QScriptValue::toUInt32() const
-{
- return d_ptr->toUInt32();
-}
-
-/*!
- Returns the unsigned 16-bit integer value of this QScriptValue, using
- the conversion rules described in \l{ECMA-262} section 9.7, "ToUint16".
-
- Note that if this QScriptValue is an object, calling this function
- has side effects on the script engine, since the engine will call
- the object's valueOf() function (and possibly toString()) in an
- attempt to convert the object to a primitive value (possibly
- resulting in an uncaught script exception).
-
- \sa toNumber()
-*/
-quint16 QScriptValue::toUInt16() const
-{
- return d_ptr->toUInt16();
-}
-
-/*!
- Calls this QScriptValue as a function, using \a thisObject as
- the `this' object in the function call, and passing \a args
- as arguments to the function. Returns the value returned from
- the function.
-
- If this QScriptValue is not a function, call() does nothing
- and returns an invalid QScriptValue.
-
- Note that if \a thisObject is not an object, the global object
- (see \l{QScriptEngine::globalObject()}) will be used as the
- `this' object.
-
- Calling call() can cause an exception to occur in the script engine;
- in that case, call() returns the value that was thrown (typically an
- \c{Error} object). You can call
- QScriptEngine::hasUncaughtException() to determine if an exception
- occurred.
-
- \snippet doc/src/snippets/code/src_script_qscriptvalue.cpp 2
-
- \sa construct()
-*/
-QScriptValue QScriptValue::call(const QScriptValue& thisObject, const QScriptValueList& args)
-{
- return d_ptr->call(thisObject.d_ptr.data(), args);
-}
-
-/*!
- Returns the QScriptEngine that created this QScriptValue,
- or 0 if this QScriptValue is invalid or the value is not
- associated with a particular engine.
-*/
-QScriptEngine* QScriptValue::engine() const
-{
- QScriptEnginePrivate* engine = d_ptr->engine();
- if (engine)
- return QScriptEnginePrivate::get(engine);
- return 0;
-}
-
-/*!
- Assigns the \a other value to this QScriptValue.
-
- Note that if \a other is an object (isObject() returns true),
- only a reference to the underlying object will be assigned;
- the object itself will not be copied.
-*/
-QScriptValue& QScriptValue::operator=(const QScriptValue& other)
-{
- d_ptr = other.d_ptr;
- return *this;
-}
-
-/*!
- Returns true if this QScriptValue is equal to \a other, otherwise
- returns false. The comparison follows the behavior described in
- \l{ECMA-262} section 11.9.3, "The Abstract Equality Comparison
- Algorithm".
-
- This function can return true even if the type of this QScriptValue
- is different from the type of the \a other value; i.e. the
- comparison is not strict. For example, comparing the number 9 to
- the string "9" returns true; comparing an undefined value to a null
- value returns true; comparing a \c{Number} object whose primitive
- value is 6 to a \c{String} object whose primitive value is "6"
- returns true; and comparing the number 1 to the boolean value
- \c{true} returns true. If you want to perform a comparison
- without such implicit value conversion, use strictlyEquals().
-
- Note that if this QScriptValue or the \a other value are objects,
- calling this function has side effects on the script engine, since
- the engine will call the object's valueOf() function (and possibly
- toString()) in an attempt to convert the object to a primitive value
- (possibly resulting in an uncaught script exception).
-
- \sa strictlyEquals(), lessThan()
-*/
-bool QScriptValue::equals(const QScriptValue& other) const
-{
- return d_ptr == other.d_ptr || d_ptr->equals(QScriptValuePrivate::get(other));
-}
-
-/*!
- Returns true if this QScriptValue is equal to \a other using strict
- comparison (no conversion), otherwise returns false. The comparison
- follows the behavior described in \l{ECMA-262} section 11.9.6, "The
- Strict Equality Comparison Algorithm".
-
- If the type of this QScriptValue is different from the type of the
- \a other value, this function returns false. If the types are equal,
- the result depends on the type, as shown in the following table:
-
- \table
- \header \o Type \o Result
- \row \o Undefined \o true
- \row \o Null \o true
- \row \o Boolean \o true if both values are true, false otherwise
- \row \o Number \o false if either value is NaN (Not-a-Number); true if values are equal, false otherwise
- \row \o String \o true if both values are exactly the same sequence of characters, false otherwise
- \row \o Object \o true if both values refer to the same object, false otherwise
- \endtable
-
- \sa equals()
-*/
-bool QScriptValue::strictlyEquals(const QScriptValue& other) const
-{
- return d_ptr == other.d_ptr || d_ptr->strictlyEquals(QScriptValuePrivate::get(other));
-}
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue.h
deleted file mode 100644
index d45aed3..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue.h
+++ /dev/null
@@ -1,99 +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.
-*/
-
-#ifndef qscriptvalue_h
-#define qscriptvalue_h
-
-#include <QtCore/qlist.h>
-#include <QtCore/qshareddata.h>
-
-class QScriptEngine;
-class QScriptValuePrivate;
-
-class QScriptValue;
-typedef QList<QScriptValue> QScriptValueList;
-
-typedef double qsreal;
-
-class QScriptValue {
-public:
- enum SpecialValue {
- NullValue,
- UndefinedValue
- };
-
- QScriptValue();
- QScriptValue(bool value);
- QScriptValue(int value);
- QScriptValue(uint value);
- QScriptValue(qsreal value);
- QScriptValue(const QString& value);
- QScriptValue(const char* value);
- QScriptValue(SpecialValue value);
- QScriptValue(const QScriptValue& other);
-
- QScriptValue(QScriptEngine* engine, bool value);
- QScriptValue(QScriptEngine* engine, int value);
- QScriptValue(QScriptEngine* engine, uint value);
- QScriptValue(QScriptEngine* engine, qsreal value);
- QScriptValue(QScriptEngine* engine, const QString& value);
- QScriptValue(QScriptEngine* engine, const char* value);
- QScriptValue(QScriptEngine* engine, SpecialValue value);
-
- ~QScriptValue();
-
- QScriptValue& operator=(const QScriptValue& other);
- bool equals(const QScriptValue& other) const;
- bool strictlyEquals(const QScriptValue& other) const;
-
- QScriptEngine* engine() const;
-
- bool isValid() const;
- bool isBool() const;
- bool isBoolean() const;
- bool isNumber() const;
- bool isFunction() const;
- bool isNull() const;
- bool isString() const;
- bool isUndefined() const;
- bool isObject() const;
- bool isError() const;
-
- QString toString() const;
- qsreal toNumber() const;
- bool toBool() const;
- bool toBoolean() const;
- qsreal toInteger() const;
- qint32 toInt32() const;
- quint32 toUInt32() const;
- quint16 toUInt16() const;
-
- QScriptValue call(const QScriptValue& thisObject = QScriptValue(),
- const QScriptValueList& args = QScriptValueList());
-
-private:
- QScriptValue(void*);
- QScriptValue(QScriptValuePrivate*);
-
- QExplicitlySharedDataPointer<QScriptValuePrivate> d_ptr;
-
- friend class QScriptValuePrivate;
-};
-
-#endif // qscriptvalue_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue_p.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue_p.h
deleted file mode 100644
index e5c2a82..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qscriptvalue_p.h
+++ /dev/null
@@ -1,754 +0,0 @@
-/*
- Copyright (C) 2008 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 qscriptvalue_p_h
-#define qscriptvalue_p_h
-
-#include "qscriptconverter_p.h"
-#include "qscriptengine_p.h"
-#include "qscriptvalue.h"
-#include <JavaScriptCore/JavaScript.h>
-#include <QtCore/qmath.h>
-#include <QtCore/qnumeric.h>
-#include <QtCore/qshareddata.h>
-#include <QtCore/qvarlengtharray.h>
-
-class QScriptEngine;
-class QScriptValue;
-
-/*
- \internal
- \class QScriptValuePrivate
-
- Implementation of QScriptValue.
- The implementation is based on a state machine. The states names are included in
- QScriptValuePrivate::State. Each method should check for the current state and then perform a
- correct action.
-
- State:
- Invalid -> QSVP is invalid, no assumptions should be made about class members (apart from m_value).
- CString -> QSVP is created from QString or const char* and no JSC engine has been associated yet.
- Current value is kept in m_string,
- CNumber -> QSVP is created from int, uint, double... and no JSC engine has been bind yet. Current
- value is kept in m_number
- CBool -> QSVP is created from bool and no JSC engine has been associated yet. Current value is kept
- in m_number
- CSpecial -> QSVP is Undefined or Null, but a JSC engine hasn't been associated yet, current value
- is kept in m_number (cast of QScriptValue::SpecialValue)
- JSValue -> QSVP is associated with engine, but there is no information about real type, the state
- have really short live cycle. Normally it is created as a function call result.
- JSPrimitive -> QSVP is associated with engine, and it is sure that it isn't a JavaScript object.
- JSObject -> QSVP is associated with engine, and it is sure that it is a JavaScript object.
-
- Each state keep all necessary information to invoke all methods, if not it should be changed to
- a proper state. Changed state shouldn't be reverted.
-*/
-
-class QScriptValuePrivate : public QSharedData {
-public:
- inline static QScriptValuePrivate* get(const QScriptValue& q);
- inline static QScriptValue get(const QScriptValuePrivate* d);
- inline static QScriptValue get(QScriptValuePrivate* d);
-
- inline ~QScriptValuePrivate();
-
- inline QScriptValuePrivate();
- inline QScriptValuePrivate(const QString& string);
- inline QScriptValuePrivate(bool value);
- inline QScriptValuePrivate(int number);
- inline QScriptValuePrivate(uint number);
- inline QScriptValuePrivate(qsreal number);
- inline QScriptValuePrivate(QScriptValue::SpecialValue value);
-
- inline QScriptValuePrivate(const QScriptEngine* engine, bool value);
- inline QScriptValuePrivate(const QScriptEngine* engine, int value);
- inline QScriptValuePrivate(const QScriptEngine* engine, uint value);
- inline QScriptValuePrivate(const QScriptEngine* engine, qsreal value);
- inline QScriptValuePrivate(const QScriptEngine* engine, const QString& value);
- inline QScriptValuePrivate(const QScriptEngine* engine, QScriptValue::SpecialValue value);
-
- inline QScriptValuePrivate(const QScriptEnginePrivate* engine, JSValueRef value);
- inline QScriptValuePrivate(const QScriptEnginePrivate* engine, JSValueRef value, JSObjectRef object);
-
- inline bool isValid() const;
- inline bool isBool();
- inline bool isNumber();
- inline bool isNull();
- inline bool isString();
- inline bool isUndefined();
- inline bool isError();
- inline bool isObject();
- inline bool isFunction();
-
- inline QString toString() const;
- inline qsreal toNumber() const;
- inline bool toBool() const;
- inline qsreal toInteger() const;
- inline qint32 toInt32() const;
- inline quint32 toUInt32() const;
- inline quint16 toUInt16() const;
-
- inline bool equals(QScriptValuePrivate* other);
- inline bool strictlyEquals(const QScriptValuePrivate* other) const;
- inline bool assignEngine(QScriptEnginePrivate* engine);
-
- inline QScriptValuePrivate* call(const QScriptValuePrivate* , const QScriptValueList& args);
-
- inline JSGlobalContextRef context() const;
- inline JSValueRef value() const;
- inline JSObjectRef object() const;
- inline QScriptEnginePrivate* engine() const;
-
-private:
- // Please, update class documentation when you change the enum.
- enum State {
- Invalid = 0,
- CString = 0x1000,
- CNumber,
- CBool,
- CSpecial,
- JSValue = 0x2000, // JS values are equal or higher then this value.
- JSPrimitive,
- JSObject
- } m_state;
- QScriptEnginePtr m_engine;
- QString m_string;
- qsreal m_number;
- JSValueRef m_value;
- JSObjectRef m_object;
-
- inline void setValue(JSValueRef);
-
- inline bool inherits(const char*);
- inline State refinedJSValue();
-
- inline bool isJSBased() const;
- inline bool isNumberBased() const;
- inline bool isStringBased() const;
-};
-
-QScriptValuePrivate* QScriptValuePrivate::get(const QScriptValue& q) { return q.d_ptr.data(); }
-
-QScriptValue QScriptValuePrivate::get(const QScriptValuePrivate* d)
-{
- return QScriptValue(const_cast<QScriptValuePrivate*>(d));
-}
-
-QScriptValue QScriptValuePrivate::get(QScriptValuePrivate* d)
-{
- return QScriptValue(d);
-}
-
-QScriptValuePrivate::~QScriptValuePrivate()
-{
- if (m_value)
- JSValueUnprotect(context(), m_value);
-}
-
-QScriptValuePrivate::QScriptValuePrivate()
- : m_state(Invalid)
- , m_value(0)
-{
-}
-
-QScriptValuePrivate::QScriptValuePrivate(const QString& string)
- : m_state(CString)
- , m_string(string)
- , m_value(0)
-{
-}
-
-QScriptValuePrivate::QScriptValuePrivate(bool value)
- : m_state(CBool)
- , m_number(value)
- , m_value(0)
-{
-}
-
-QScriptValuePrivate::QScriptValuePrivate(int number)
- : m_state(CNumber)
- , m_number(number)
- , m_value(0)
-{
-}
-
-QScriptValuePrivate::QScriptValuePrivate(uint number)
- : m_state(CNumber)
- , m_number(number)
- , m_value(0)
-{
-}
-
-QScriptValuePrivate::QScriptValuePrivate(qsreal number)
- : m_state(CNumber)
- , m_number(number)
- , m_value(0)
-{
-}
-
-QScriptValuePrivate::QScriptValuePrivate(QScriptValue::SpecialValue value)
- : m_state(CSpecial)
- , m_number(value)
- , m_value(0)
-{
-}
-
-QScriptValuePrivate::QScriptValuePrivate(const QScriptEngine* engine, bool value)
- : m_state(JSPrimitive)
-{
- if (!engine) {
- // slower path reinitialization
- m_state = CBool;
- m_number = value;
- m_value = 0;
- } else {
- m_engine = QScriptEnginePrivate::get(engine);
- m_value = m_engine->makeJSValue(value);
- JSValueProtect(context(), m_value);
- }
-}
-
-QScriptValuePrivate::QScriptValuePrivate(const QScriptEngine* engine, int value)
- : m_state(JSPrimitive)
-{
- if (!engine) {
- // slower path reinitialization
- m_state = CNumber;
- m_number = value;
- m_value = 0;
- } else {
- m_engine = QScriptEnginePrivate::get(engine);
- m_value = m_engine->makeJSValue(value);
- JSValueProtect(context(), m_value);
- }
-}
-
-QScriptValuePrivate::QScriptValuePrivate(const QScriptEngine* engine, uint value)
- : m_state(JSPrimitive)
-{
- if (!engine) {
- // slower path reinitialization
- m_state = CNumber;
- m_number = value;
- m_value = 0;
- } else {
- m_engine = QScriptEnginePrivate::get(engine);
- m_value = m_engine->makeJSValue(value);
- JSValueProtect(context(), m_value);
- }
-}
-
-QScriptValuePrivate::QScriptValuePrivate(const QScriptEngine* engine, qsreal value)
- : m_state(JSPrimitive)
-{
- if (!engine) {
- // slower path reinitialization
- m_state = CNumber;
- m_number = value;
- m_value = 0;
- } else {
- m_engine = QScriptEnginePrivate::get(engine);
- m_value = m_engine->makeJSValue(value);
- JSValueProtect(context(), m_value);
- }
-}
-
-QScriptValuePrivate::QScriptValuePrivate(const QScriptEngine* engine, const QString& value)
- : m_state(JSPrimitive)
-{
- if (!engine) {
- // slower path reinitialization
- m_state = CString;
- m_string = value;
- m_value = 0;
- } else {
- m_engine = QScriptEnginePrivate::get(engine);
- m_value = m_engine->makeJSValue(value);
- JSValueProtect(context(), m_value);
- }
-}
-
-QScriptValuePrivate::QScriptValuePrivate(const QScriptEngine* engine, QScriptValue::SpecialValue value)
- : m_state(JSPrimitive)
-{
- if (!engine) {
- // slower path reinitialization
- m_state = CSpecial;
- m_number = value;
- m_value = 0;
- } else {
- m_engine = QScriptEnginePrivate::get(engine);
- m_value = m_engine->makeJSValue(value);
- JSValueProtect(context(), m_value);
- }
-}
-
-QScriptValuePrivate::QScriptValuePrivate(const QScriptEnginePrivate* engine, JSValueRef value)
- : m_state(JSValue)
- , m_engine(const_cast<QScriptEnginePrivate*>(engine))
- , m_value(value)
-{
- Q_ASSERT(engine);
- JSValueProtect(context(), m_value);
-}
-
-QScriptValuePrivate::QScriptValuePrivate(const QScriptEnginePrivate* engine, JSValueRef value, JSObjectRef object)
- : m_state(JSObject)
- , m_engine(const_cast<QScriptEnginePrivate*>(engine))
- , m_value(value)
- , m_object(object)
-{
- Q_ASSERT(engine);
- JSValueProtect(context(), m_value);
-}
-
-bool QScriptValuePrivate::isValid() const { return m_state != Invalid; }
-
-bool QScriptValuePrivate::isBool()
-{
- switch (m_state) {
- case CBool:
- return true;
- case JSValue:
- if (refinedJSValue() != JSPrimitive)
- return false;
- // Fall-through.
- case JSPrimitive:
- return JSValueIsBoolean(context(), value());
- default:
- return false;
- }
-}
-
-bool QScriptValuePrivate::isNumber()
-{
- switch (m_state) {
- case CNumber:
- return true;
- case JSValue:
- if (refinedJSValue() != JSPrimitive)
- return false;
- // Fall-through.
- case JSPrimitive:
- return JSValueIsNumber(context(), value());
- default:
- return false;
- }
-}
-
-bool QScriptValuePrivate::isNull()
-{
- switch (m_state) {
- case CSpecial:
- return m_number == static_cast<int>(QScriptValue::NullValue);
- case JSValue:
- if (refinedJSValue() != JSPrimitive)
- return false;
- // Fall-through.
- case JSPrimitive:
- return JSValueIsNull(context(), value());
- default:
- return false;
- }
-}
-
-bool QScriptValuePrivate::isString()
-{
- switch (m_state) {
- case CString:
- return true;
- case JSValue:
- if (refinedJSValue() != JSPrimitive)
- return false;
- // Fall-through.
- case JSPrimitive:
- return JSValueIsString(context(), value());
- default:
- return false;
- }
-}
-
-bool QScriptValuePrivate::isUndefined()
-{
- switch (m_state) {
- case CSpecial:
- return m_number == static_cast<int>(QScriptValue::UndefinedValue);
- case JSValue:
- if (refinedJSValue() != JSPrimitive)
- return false;
- // Fall-through.
- case JSPrimitive:
- return JSValueIsUndefined(context(), value());
- default:
- return false;
- }
-}
-
-bool QScriptValuePrivate::isError()
-{
- switch (m_state) {
- case JSValue:
- if (refinedJSValue() != JSObject)
- return false;
- // Fall-through.
- case JSObject:
- return inherits("Error");
- default:
- return false;
- }
-}
-
-bool QScriptValuePrivate::isObject()
-{
- switch (m_state) {
- case JSValue:
- return refinedJSValue() == JSObject;
- case JSObject:
- return true;
-
- default:
- return false;
- }
-}
-
-bool QScriptValuePrivate::isFunction()
-{
- switch (m_state) {
- case JSValue:
- if (refinedJSValue() != JSObject)
- return false;
- // Fall-through.
- case JSObject:
- return JSObjectIsFunction(context(), object());
- default:
- return false;
- }
-}
-
-QString QScriptValuePrivate::toString() const
-{
- switch (m_state) {
- case Invalid:
- return QString();
- case CBool:
- return m_number ? QString::fromLatin1("true") : QString::fromLatin1("false");
- case CString:
- return m_string;
- case CNumber:
- return QScriptConverter::toString(m_number);
- case CSpecial:
- return m_number == QScriptValue::NullValue ? QString::fromLatin1("null") : QString::fromLatin1("undefined");
- case JSValue:
- case JSPrimitive:
- case JSObject:
- return QScriptConverter::toString(JSValueToStringCopy(context(), value(), /* exception */ 0));
- }
-
- Q_ASSERT_X(false, "toString()", "Not all states are included in the previous switch statement.");
- return QString(); // Avoid compiler warning.
-}
-
-qsreal QScriptValuePrivate::toNumber() const
-{
- switch (m_state) {
- case JSValue:
- case JSPrimitive:
- case JSObject:
- return JSValueToNumber(context(), value(), /* exception */ 0);
- case CNumber:
- return m_number;
- case CBool:
- return m_number ? 1 : 0;
- case Invalid:
- return 0;
- case CSpecial:
- return m_number == QScriptValue::NullValue ? 0 : qQNaN();
- case CString:
- bool ok;
- qsreal result = m_string.toDouble(&ok);
- if (ok)
- return result;
- result = m_string.toInt(&ok, 0); // Try other bases.
- if (ok)
- return result;
- if (m_string == "Infinity" || m_string == "-Infinity")
- return qInf();
- return m_string.length() ? qQNaN() : 0;
- }
-
- Q_ASSERT_X(false, "toNumber()", "Not all states are included in the previous switch statement.");
- return 0; // Avoid compiler warning.
-}
-
-bool QScriptValuePrivate::toBool() const
-{
- switch (m_state) {
- case JSValue:
- case JSPrimitive:
- return JSValueToBoolean(context(), value());
- case JSObject:
- return true;
- case CNumber:
- return !(qIsNaN(m_number) || !m_number);
- case CBool:
- return m_number;
- case Invalid:
- case CSpecial:
- return false;
- case CString:
- return m_string.length();
- }
-
- Q_ASSERT_X(false, "toBool()", "Not all states are included in the previous switch statement.");
- return false; // Avoid compiler warning.
-}
-
-qsreal QScriptValuePrivate::toInteger() const
-{
- qsreal result = toNumber();
- if (qIsNaN(result))
- return 0;
- if (qIsInf(result))
- return result;
- return (result > 0) ? qFloor(result) : -1 * qFloor(-result);
-}
-
-qint32 QScriptValuePrivate::toInt32() const
-{
- qsreal result = toInteger();
- // Orginaly it should look like that (result == 0 || qIsInf(result) || qIsNaN(result)), but
- // some of these operation are invoked in toInteger subcall.
- if (qIsInf(result))
- return 0;
- return result;
-}
-
-quint32 QScriptValuePrivate::toUInt32() const
-{
- qsreal result = toInteger();
- // Orginaly it should look like that (result == 0 || qIsInf(result) || qIsNaN(result)), but
- // some of these operation are invoked in toInteger subcall.
- if (qIsInf(result))
- return 0;
- return result;
-}
-
-quint16 QScriptValuePrivate::toUInt16() const
-{
- return toInt32();
-}
-
-
-bool QScriptValuePrivate::equals(QScriptValuePrivate* other)
-{
- if (!isValid() || !other->isValid())
- return false;
-
- if ((m_state == other->m_state) && !isJSBased()) {
- if (isNumberBased())
- return m_number == other->m_number;
- return m_string == other->m_string;
- }
-
- if (isJSBased() && !other->isJSBased()) {
- if (!other->assignEngine(engine())) {
- qWarning("equals(): Cannot compare to a value created in a different engine");
- return false;
- }
- } else if (!isJSBased() && other->isJSBased()) {
- if (!other->assignEngine(other->engine())) {
- qWarning("equals(): Cannot compare to a value created in a different engine");
- return false;
- }
- }
-
- return JSValueIsEqual(context(), value(), other->value(), /* exception */ 0);
-}
-
-bool QScriptValuePrivate::strictlyEquals(const QScriptValuePrivate* other) const
-{
- if (m_state != other->m_state)
- return false;
- if (isJSBased()) {
- if (other->engine() != engine()) {
- qWarning("strictlyEquals(): Cannot compare to a value created in a different engine");
- return false;
- }
- return JSValueIsStrictEqual(context(), value(), other->value());
- }
- if (isStringBased())
- return m_string == other->m_string;
- if (isNumberBased())
- return m_number == other->m_number;
-
- return false; // Invalid state.
-}
-
-/*!
- Tries to assign \a engine to this value. Returns true on success; otherwise returns false.
-*/
-bool QScriptValuePrivate::assignEngine(QScriptEnginePrivate* engine)
-{
- JSValueRef value;
- switch (m_state) {
- case CBool:
- value = engine->makeJSValue(static_cast<bool>(m_number));
- break;
- case CString:
- value = engine->makeJSValue(m_string);
- break;
- case CNumber:
- value = engine->makeJSValue(m_number);
- break;
- case CSpecial:
- value = engine->makeJSValue(static_cast<QScriptValue::SpecialValue>(m_number));
- break;
- default:
- if (!isJSBased())
- Q_ASSERT_X(!isJSBased(), "assignEngine()", "Not all states are included in the previous switch statement.");
- else
- qWarning("JSValue can't be rassigned to an another engine.");
- return false;
- }
- m_engine = engine;
- m_state = JSPrimitive;
- setValue(value);
- return true;
-}
-
-QScriptValuePrivate* QScriptValuePrivate::call(const QScriptValuePrivate*, const QScriptValueList& args)
-{
- switch (m_state) {
- case JSValue:
- if (refinedJSValue() != JSObject)
- return new QScriptValuePrivate;
- // Fall-through.
- case JSObject:
- {
- // Convert all arguments and bind to the engine.
- int argc = args.size();
- QVarLengthArray<JSValueRef, 8> argv(argc);
- QScriptValueList::const_iterator i = args.constBegin();
- for (int j = 0; i != args.constEnd(); j++, i++) {
- QScriptValuePrivate* value = QScriptValuePrivate::get(*i);
- if (!value->assignEngine(engine())) {
- qWarning("QScriptValue::call() failed: cannot call function with values created in a different engine");
- return new QScriptValuePrivate;
- }
- argv[j] = value->value();
- }
-
- // Make the call
- JSValueRef exception = 0;
- JSValueRef result = JSObjectCallAsFunction(context(), object(), /* thisObject */ 0, argc, argv.constData(), &exception);
- if (!result && exception)
- return new QScriptValuePrivate(engine(), exception);
- if (result && !exception)
- return new QScriptValuePrivate(engine(), result);
- }
- // this QSV is not a function <-- !result && !exception. Fall-through.
- default:
- return new QScriptValuePrivate;
- }
-}
-
-QScriptEnginePrivate* QScriptValuePrivate::engine() const
-{
- // As long as m_engine is an autoinitializated pointer we can safely return it without
- // checking current state.
- return m_engine.data();
-}
-
-JSGlobalContextRef QScriptValuePrivate::context() const
-{
- Q_ASSERT(isJSBased());
- return m_engine->context();
-}
-
-JSValueRef QScriptValuePrivate::value() const
-{
- Q_ASSERT(isJSBased());
- return m_value;
-}
-
-JSObjectRef QScriptValuePrivate::object() const
-{
- Q_ASSERT(m_state == JSObject);
- return m_object;
-}
-
-void QScriptValuePrivate::setValue(JSValueRef value)
-{
- if (m_value)
- JSValueUnprotect(context(), m_value);
- if (value)
- JSValueProtect(context(), value);
- m_value = value;
-}
-
-/*!
- \internal
- Returns true if QSV is created from constructor with the given \a name, it has to be a
- built-in type.
-*/
-bool QScriptValuePrivate::inherits(const char* name)
-{
- Q_ASSERT(isJSBased());
- JSObjectRef globalObject = JSContextGetGlobalObject(context());
- JSValueRef error = JSObjectGetProperty(context(), globalObject, QScriptConverter::toString(name), 0);
- return JSValueIsInstanceOfConstructor(context(), value(), JSValueToObject(context(), error, /* exception */ 0), /* exception */ 0);
-}
-
-/*!
- \internal
- Refines the state of this QScriptValuePrivate. Returns the new state.
-*/
-QScriptValuePrivate::State QScriptValuePrivate::refinedJSValue()
-{
- Q_ASSERT(m_state == JSValue);
- if (!JSValueIsObject(context(), value())) {
- m_state = JSPrimitive;
- } else {
- m_state = JSObject;
- // We are sure that value is an JSObject, so we can const_cast safely without
- // calling JSC C API (JSValueToObject(context(), value(), /* exceptions */ 0)).
- m_object = const_cast<JSObjectRef>(m_value);
- }
- return m_state;
-}
-
-/*!
- \internal
- Returns true if QSV have an engine associated.
-*/
-bool QScriptValuePrivate::isJSBased() const { return m_state >= JSValue; }
-
-/*!
- \internal
- Returns true if current value of QSV is placed in m_number.
-*/
-bool QScriptValuePrivate::isNumberBased() const { return !isJSBased() && !isStringBased() && m_state != Invalid; }
-
-/*!
- \internal
- Returns true if current value of QSV is placed in m_string.
-*/
-bool QScriptValuePrivate::isStringBased() const { return m_state == CString; }
-
-#endif // qscriptvalue_p_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/api/qtscriptglobal.h b/src/3rdparty/webkit/JavaScriptCore/qt/api/qtscriptglobal.h
deleted file mode 100644
index 29749c0..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/api/qtscriptglobal.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- Copyright (C) 2008 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 qtscriptglobal_h
-#define qtscriptglobal_h
-
-#include <QtCore/qglobal.h>
-
-#if defined(Q_OS_WIN) || defined(Q_OS_SYMBIAN)
-# if defined(QT_NODLL)
-# elif defined(QT_MAKEDLL) /* create a Qt DLL library */
-# if defined(QT_BUILD_JAVASCRIPT_LIB)
-# define Q_JAVASCRIPT_EXPORT Q_DECL_EXPORT
-# else
-# define Q_JAVASCRIPT_EXPORT Q_DECL_IMPORT
-# endif
-# elif defined(QT_DLL) /* use a Qt DLL library */
-# define Q_JAVASCRIPT_EXPORT
-# endif
-#endif
-
-#if defined(QT_SHARED)
-# define Q_JAVASCRIPT_EXPORT Q_DECL_EXPORT
-#else
-# define Q_JAVASCRIPT_EXPORT
-#endif
-
-#endif
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptengine/qscriptengine.pro b/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptengine/qscriptengine.pro
deleted file mode 100644
index d521dd8..0000000
--- a/src/3rdparty/webkit/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/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp b/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp
deleted file mode 100644
index 2632796..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptengine/tst_qscriptengine.cpp
+++ /dev/null
@@ -1,275 +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 <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 evaluate();
- void collectGarbage();
- void nullValue();
- void undefinedValue();
- void evaluateProgram();
- void checkSyntax_data();
- void checkSyntax();
-};
-
-/* 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");
-}
-
-/* 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::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);
-}
-
-
-QTEST_MAIN(tst_QScriptEngine)
-#include "tst_qscriptengine.moc"
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptstring/qscriptstring.pro b/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptstring/qscriptstring.pro
deleted file mode 100644
index 5ad9b7c..0000000
--- a/src/3rdparty/webkit/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/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptstring/tst_qscriptstring.cpp b/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptstring/tst_qscriptstring.cpp
deleted file mode 100644
index ff31835..0000000
--- a/src/3rdparty/webkit/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/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/qscriptvalue.pro b/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/qscriptvalue.pro
deleted file mode 100644
index 35cc17d..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/qscriptvalue.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-TEMPLATE = app
-TARGET = tst_qscriptvalue
-QT += testlib
-isEmpty(OUTPUT_DIR): OUTPUT_DIR = ../../../..
-include(../tests.pri)
-
-SOURCES += \
- tst_qscriptvalue.cpp \
- tst_qscriptvalue_generated.cpp
-
-HEADERS += \
- tst_qscriptvalue.h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.cpp b/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.cpp
deleted file mode 100644
index 82f0901..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.cpp
+++ /dev/null
@@ -1,435 +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()
- : engine(0)
-{
-}
-
-tst_QScriptValue::~tst_QScriptValue()
-{
- delete engine;
-}
-
-void tst_QScriptValue::dataHelper(InitDataFunction init, DefineDataFunction define)
-{
- QTest::addColumn<QString>("__expression__");
- (this->*init)();
- QHash<QString, QScriptValue>::const_iterator it;
- for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
- m_currentExpression = it.key();
- (this->*define)(it.key().toLatin1());
- }
- m_currentExpression = QString();
-}
-
-QTestData& tst_QScriptValue::newRow(const char* tag)
-{
- return QTest::newRow(tag) << m_currentExpression;
-}
-
-void tst_QScriptValue::testHelper(TestFunction fun)
-{
- QFETCH(QString, __expression__);
- QScriptValue value = m_values.value(__expression__);
- (this->*fun)(__expression__.toLatin1(), value);
-}
-
-
-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::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.
-}
-
-
-QTEST_MAIN(tst_QScriptValue)
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h b/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h
deleted file mode 100644
index 28154a9..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue.h
+++ /dev/null
@@ -1,196 +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>
-
-Q_DECLARE_METATYPE(QScriptValue*);
-Q_DECLARE_METATYPE(QScriptValue);
-
-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 call();
- void ctor();
-
- // Generated test functions.
- void isBool_data();
- void isBool();
-
- void isBoolean_data();
- void isBoolean();
-
- 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();
-
-private:
- typedef void (tst_QScriptValue::*InitDataFunction)();
- typedef void (tst_QScriptValue::*DefineDataFunction)(const char*);
- void dataHelper(InitDataFunction init, DefineDataFunction define);
- QTestData& newRow(const char* tag);
-
- typedef void (tst_QScriptValue::*TestFunction)(const char*, const QScriptValue&);
- void testHelper(TestFunction fun);
-
- // Generated functions
-
- void initScriptValues();
-
- void isBool_initData();
- void isBool_makeData(const char* expr);
- void isBool_test(const char* expr, const QScriptValue& value);
-
- void isBoolean_initData();
- void isBoolean_makeData(const char* expr);
- void isBoolean_test(const char* expr, const QScriptValue& value);
-
- void isNumber_initData();
- void isNumber_makeData(const char* expr);
- void isNumber_test(const char* expr, const QScriptValue&);
-
- void isFunction_initData();
- void isFunction_makeData(const char* expr);
- void isFunction_test(const char* expr, const QScriptValue& value);
-
- void isNull_initData();
- void isNull_makeData(const char* expr);
- void isNull_test(const char* expr, const QScriptValue& value);
-
- void isObject_initData();
- void isObject_makeData(const char* expr);
- void isObject_test(const char* expr, const QScriptValue& value);
-
- void isString_initData();
- void isString_makeData(const char* expr);
- void isString_test(const char* expr, const QScriptValue& value);
-
- void isUndefined_initData();
- void isUndefined_makeData(const char* expr);
- void isUndefined_test(const char* expr, const QScriptValue& value);
-
- void isValid_initData();
- void isValid_makeData(const char* expr);
- void isValid_test(const char* expr, const QScriptValue& value);
-
- void toString_initData();
- void toString_makeData(const char*);
- void toString_test(const char*, const QScriptValue&);
-
- void toNumber_initData();
- void toNumber_makeData(const char*);
- void toNumber_test(const char*, const QScriptValue&);
-
- void toBool_initData();
- void toBool_makeData(const char*);
- void toBool_test(const char*, const QScriptValue&);
-
- void toBoolean_initData();
- void toBoolean_makeData(const char*);
- void toBoolean_test(const char*, const QScriptValue&);
-
- void toInteger_initData();
- void toInteger_makeData(const char*);
- void toInteger_test(const char*, const QScriptValue&);
-
- void toInt32_initData();
- void toInt32_makeData(const char*);
- void toInt32_test(const char*, const QScriptValue&);
-
- void toUInt32_initData();
- void toUInt32_makeData(const char*);
- void toUInt32_test(const char*, const QScriptValue&);
-
- void toUInt16_initData();
- void toUInt16_makeData(const char*);
- void toUInt16_test(const char*, const QScriptValue&);
-
-private:
- QScriptEngine* engine;
- QHash<QString, QScriptValue> m_values;
- QString m_currentExpression;
-};
-
-#define DEFINE_TEST_FUNCTION(name) \
-void tst_QScriptValue::name##_data() { dataHelper(&tst_QScriptValue::name##_initData, &tst_QScriptValue::name##_makeData); } \
-void tst_QScriptValue::name() { testHelper(&tst_QScriptValue::name##_test); }
-
-
-
-#endif // tst_qscriptvalue_h
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp b/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp
deleted file mode 100644
index 970c960..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/tests/qscriptvalue/tst_qscriptvalue_generated.cpp
+++ /dev/null
@@ -1,1922 +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.
-*/
-
-#include "tst_qscriptvalue.h"
-
-#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr)
-
-void tst_QScriptValue::initScriptValues()
-{
- m_values.clear();
- if (engine)
- delete engine;
- engine = new QScriptEngine;
- DEFINE_TEST_VALUE(QScriptValue());
- DEFINE_TEST_VALUE(QScriptValue(QScriptValue::UndefinedValue));
- DEFINE_TEST_VALUE(QScriptValue(QScriptValue::NullValue));
- DEFINE_TEST_VALUE(QScriptValue(true));
- DEFINE_TEST_VALUE(QScriptValue(false));
- DEFINE_TEST_VALUE(QScriptValue(int(122)));
- DEFINE_TEST_VALUE(QScriptValue(uint(124)));
- DEFINE_TEST_VALUE(QScriptValue(0));
- DEFINE_TEST_VALUE(QScriptValue(0.0));
- DEFINE_TEST_VALUE(QScriptValue(123.0));
- DEFINE_TEST_VALUE(QScriptValue(6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(-6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(0x43211234));
- DEFINE_TEST_VALUE(QScriptValue(0x10000));
- DEFINE_TEST_VALUE(QScriptValue(0x10001));
- DEFINE_TEST_VALUE(QScriptValue(qSNaN()));
- DEFINE_TEST_VALUE(QScriptValue(qQNaN()));
- DEFINE_TEST_VALUE(QScriptValue(qInf()));
- DEFINE_TEST_VALUE(QScriptValue(-qInf()));
- DEFINE_TEST_VALUE(QScriptValue("NaN"));
- DEFINE_TEST_VALUE(QScriptValue("Infinity"));
- DEFINE_TEST_VALUE(QScriptValue("-Infinity"));
- DEFINE_TEST_VALUE(QScriptValue("ciao"));
- DEFINE_TEST_VALUE(QScriptValue(QString::fromLatin1("ciao")));
- DEFINE_TEST_VALUE(QScriptValue(QString("")));
- DEFINE_TEST_VALUE(QScriptValue(QString()));
- DEFINE_TEST_VALUE(QScriptValue(QString("0")));
- DEFINE_TEST_VALUE(QScriptValue(QString("123")));
- DEFINE_TEST_VALUE(QScriptValue(QString("12.4")));
- DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::UndefinedValue));
- DEFINE_TEST_VALUE(QScriptValue(0, QScriptValue::NullValue));
- DEFINE_TEST_VALUE(QScriptValue(0, true));
- DEFINE_TEST_VALUE(QScriptValue(0, false));
- DEFINE_TEST_VALUE(QScriptValue(0, int(122)));
- DEFINE_TEST_VALUE(QScriptValue(0, uint(124)));
- DEFINE_TEST_VALUE(QScriptValue(0, 0));
- DEFINE_TEST_VALUE(QScriptValue(0, 0.0));
- DEFINE_TEST_VALUE(QScriptValue(0, 123.0));
- DEFINE_TEST_VALUE(QScriptValue(0, 6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(0, -6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(0, 0x43211234));
- DEFINE_TEST_VALUE(QScriptValue(0, 0x10000));
- DEFINE_TEST_VALUE(QScriptValue(0, 0x10001));
- DEFINE_TEST_VALUE(QScriptValue(0, qSNaN()));
- DEFINE_TEST_VALUE(QScriptValue(0, qQNaN()));
- DEFINE_TEST_VALUE(QScriptValue(0, qInf()));
- DEFINE_TEST_VALUE(QScriptValue(0, -qInf()));
- DEFINE_TEST_VALUE(QScriptValue(0, "NaN"));
- DEFINE_TEST_VALUE(QScriptValue(0, "Infinity"));
- DEFINE_TEST_VALUE(QScriptValue(0, "-Infinity"));
- DEFINE_TEST_VALUE(QScriptValue(0, "ciao"));
- DEFINE_TEST_VALUE(QScriptValue(0, QString::fromLatin1("ciao")));
- DEFINE_TEST_VALUE(QScriptValue(0, QString("")));
- DEFINE_TEST_VALUE(QScriptValue(0, QString()));
- DEFINE_TEST_VALUE(QScriptValue(0, QString("0")));
- DEFINE_TEST_VALUE(QScriptValue(0, QString("123")));
- DEFINE_TEST_VALUE(QScriptValue(0, QString("12.3")));
- DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::UndefinedValue));
- DEFINE_TEST_VALUE(QScriptValue(engine, QScriptValue::NullValue));
- DEFINE_TEST_VALUE(QScriptValue(engine, true));
- DEFINE_TEST_VALUE(QScriptValue(engine, false));
- DEFINE_TEST_VALUE(QScriptValue(engine, int(122)));
- DEFINE_TEST_VALUE(QScriptValue(engine, uint(124)));
- DEFINE_TEST_VALUE(QScriptValue(engine, 0));
- DEFINE_TEST_VALUE(QScriptValue(engine, 0.0));
- DEFINE_TEST_VALUE(QScriptValue(engine, 123.0));
- DEFINE_TEST_VALUE(QScriptValue(engine, 6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(engine, -6.37e-8));
- DEFINE_TEST_VALUE(QScriptValue(engine, 0x43211234));
- DEFINE_TEST_VALUE(QScriptValue(engine, 0x10000));
- DEFINE_TEST_VALUE(QScriptValue(engine, 0x10001));
- DEFINE_TEST_VALUE(QScriptValue(engine, qSNaN()));
- DEFINE_TEST_VALUE(QScriptValue(engine, qQNaN()));
- DEFINE_TEST_VALUE(QScriptValue(engine, qInf()));
- DEFINE_TEST_VALUE(QScriptValue(engine, -qInf()));
- DEFINE_TEST_VALUE(QScriptValue(engine, "NaN"));
- DEFINE_TEST_VALUE(QScriptValue(engine, "Infinity"));
- DEFINE_TEST_VALUE(QScriptValue(engine, "-Infinity"));
- DEFINE_TEST_VALUE(QScriptValue(engine, "ciao"));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString::fromLatin1("ciao")));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString("")));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString()));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString("0")));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString("123")));
- DEFINE_TEST_VALUE(QScriptValue(engine, QString("1.23")));
- DEFINE_TEST_VALUE(engine->evaluate("[]"));
- DEFINE_TEST_VALUE(engine->evaluate("{}"));
- DEFINE_TEST_VALUE(engine->evaluate("Object.prototype"));
- DEFINE_TEST_VALUE(engine->evaluate("Date.prototype"));
- DEFINE_TEST_VALUE(engine->evaluate("Array.prototype"));
- DEFINE_TEST_VALUE(engine->evaluate("Function.prototype"));
- DEFINE_TEST_VALUE(engine->evaluate("Error.prototype"));
- DEFINE_TEST_VALUE(engine->evaluate("Object"));
- DEFINE_TEST_VALUE(engine->evaluate("Array"));
- DEFINE_TEST_VALUE(engine->evaluate("Number"));
- DEFINE_TEST_VALUE(engine->evaluate("Function"));
- DEFINE_TEST_VALUE(engine->evaluate("(function() { return 1; })"));
- DEFINE_TEST_VALUE(engine->evaluate("(function() { return 'ciao'; })"));
- DEFINE_TEST_VALUE(engine->evaluate("(function() { throw new Error('foo'); })"));
- DEFINE_TEST_VALUE(engine->evaluate("/foo/"));
- DEFINE_TEST_VALUE(engine->evaluate("new Object()"));
- DEFINE_TEST_VALUE(engine->evaluate("new Array()"));
- DEFINE_TEST_VALUE(engine->evaluate("new Error()"));
- DEFINE_TEST_VALUE(engine->evaluate("a = new Object(); a.foo = 22; a.foo"));
- DEFINE_TEST_VALUE(engine->evaluate("Undefined"));
- DEFINE_TEST_VALUE(engine->evaluate("Null"));
- DEFINE_TEST_VALUE(engine->evaluate("True"));
- DEFINE_TEST_VALUE(engine->evaluate("False"));
- DEFINE_TEST_VALUE(engine->evaluate("undefined"));
- DEFINE_TEST_VALUE(engine->evaluate("null"));
- DEFINE_TEST_VALUE(engine->evaluate("true"));
- DEFINE_TEST_VALUE(engine->evaluate("false"));
- DEFINE_TEST_VALUE(engine->evaluate("122"));
- DEFINE_TEST_VALUE(engine->evaluate("124"));
- DEFINE_TEST_VALUE(engine->evaluate("0"));
- DEFINE_TEST_VALUE(engine->evaluate("0.0"));
- DEFINE_TEST_VALUE(engine->evaluate("123.0"));
- DEFINE_TEST_VALUE(engine->evaluate("6.37e-8"));
- DEFINE_TEST_VALUE(engine->evaluate("-6.37e-8"));
- DEFINE_TEST_VALUE(engine->evaluate("0x43211234"));
- DEFINE_TEST_VALUE(engine->evaluate("0x10000"));
- DEFINE_TEST_VALUE(engine->evaluate("0x10001"));
- DEFINE_TEST_VALUE(engine->evaluate("NaN"));
- DEFINE_TEST_VALUE(engine->evaluate("Infinity"));
- DEFINE_TEST_VALUE(engine->evaluate("-Infinity"));
- DEFINE_TEST_VALUE(engine->evaluate("'ciao'"));
- DEFINE_TEST_VALUE(engine->evaluate("''"));
- DEFINE_TEST_VALUE(engine->evaluate("'0'"));
- DEFINE_TEST_VALUE(engine->evaluate("'123'"));
- DEFINE_TEST_VALUE(engine->evaluate("'12.4'"));
- DEFINE_TEST_VALUE(engine->nullValue());
- DEFINE_TEST_VALUE(engine->undefinedValue());
-}
-
-
-void tst_QScriptValue::isValid_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isValid_makeData(const char* expr)
-{
- static QSet<QString> isValid;
- if (isValid.isEmpty()) {
- isValid << "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()";
- }
- newRow(expr) << isValid.contains(expr);
-}
-
-void tst_QScriptValue::isValid_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isValid(), expected);
- QCOMPARE(value.isValid(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isValid)
-
-
-void tst_QScriptValue::isBool_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isBool_makeData(const char* expr)
-{
- static QSet<QString> isBool;
- if (isBool.isEmpty()) {
- isBool << "QScriptValue(true)"
- << "QScriptValue(false)"
- << "QScriptValue(0, true)"
- << "QScriptValue(0, false)"
- << "QScriptValue(engine, true)"
- << "QScriptValue(engine, false)"
- << "engine->evaluate(\"true\")"
- << "engine->evaluate(\"false\")";
- }
- newRow(expr) << isBool.contains(expr);
-}
-
-void tst_QScriptValue::isBool_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isBool(), expected);
- QCOMPARE(value.isBool(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isBool)
-
-
-void tst_QScriptValue::isBoolean_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isBoolean_makeData(const char* expr)
-{
- static QSet<QString> isBoolean;
- if (isBoolean.isEmpty()) {
- isBoolean << "QScriptValue(true)"
- << "QScriptValue(false)"
- << "QScriptValue(0, true)"
- << "QScriptValue(0, false)"
- << "QScriptValue(engine, true)"
- << "QScriptValue(engine, false)"
- << "engine->evaluate(\"true\")"
- << "engine->evaluate(\"false\")";
- }
- newRow(expr) << isBoolean.contains(expr);
-}
-
-void tst_QScriptValue::isBoolean_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isBoolean(), expected);
- QCOMPARE(value.isBoolean(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isBoolean)
-
-
-void tst_QScriptValue::isNumber_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isNumber_makeData(const char* expr)
-{
- static QSet<QString> isNumber;
- if (isNumber.isEmpty()) {
- isNumber << "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\")";
- }
- newRow(expr) << isNumber.contains(expr);
-}
-
-void tst_QScriptValue::isNumber_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isNumber(), expected);
- QCOMPARE(value.isNumber(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isNumber)
-
-
-void tst_QScriptValue::isFunction_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isFunction_makeData(const char* expr)
-{
- static QSet<QString> isFunction;
- if (isFunction.isEmpty()) {
- isFunction << "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/\")";
- }
- newRow(expr) << isFunction.contains(expr);
-}
-
-void tst_QScriptValue::isFunction_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isFunction(), expected);
- QCOMPARE(value.isFunction(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isFunction)
-
-
-void tst_QScriptValue::isNull_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isNull_makeData(const char* expr)
-{
- static QSet<QString> isNull;
- if (isNull.isEmpty()) {
- isNull << "QScriptValue(QScriptValue::NullValue)"
- << "QScriptValue(0, QScriptValue::NullValue)"
- << "QScriptValue(engine, QScriptValue::NullValue)"
- << "engine->evaluate(\"null\")"
- << "engine->nullValue()";
- }
- newRow(expr) << isNull.contains(expr);
-}
-
-void tst_QScriptValue::isNull_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isNull(), expected);
- QCOMPARE(value.isNull(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isNull)
-
-
-void tst_QScriptValue::isString_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isString_makeData(const char* expr)
-{
- static QSet<QString> isString;
- if (isString.isEmpty()) {
- isString << "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'\")";
- }
- newRow(expr) << isString.contains(expr);
-}
-
-void tst_QScriptValue::isString_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isString(), expected);
- QCOMPARE(value.isString(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isString)
-
-
-void tst_QScriptValue::isUndefined_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isUndefined_makeData(const char* expr)
-{
- static QSet<QString> isUndefined;
- if (isUndefined.isEmpty()) {
- isUndefined << "QScriptValue(QScriptValue::UndefinedValue)"
- << "QScriptValue(0, QScriptValue::UndefinedValue)"
- << "QScriptValue(engine, QScriptValue::UndefinedValue)"
- << "engine->evaluate(\"{}\")"
- << "engine->evaluate(\"undefined\")"
- << "engine->undefinedValue()";
- }
- newRow(expr) << isUndefined.contains(expr);
-}
-
-void tst_QScriptValue::isUndefined_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isUndefined(), expected);
- QCOMPARE(value.isUndefined(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isUndefined)
-
-
-
-
-
-void tst_QScriptValue::isObject_initData()
-{
- QTest::addColumn<bool>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::isObject_makeData(const char* expr)
-{
- static QSet<QString> isObject;
- if (isObject.isEmpty()) {
- isObject << "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\")";
- }
- newRow(expr) << isObject.contains(expr);
-}
-
-void tst_QScriptValue::isObject_test(const char*, const QScriptValue& value)
-{
- QFETCH(bool, expected);
- QCOMPARE(value.isObject(), expected);
- QCOMPARE(value.isObject(), expected);
-}
-
-DEFINE_TEST_FUNCTION(isObject)
-
-
-void tst_QScriptValue::toString_initData()
-{
- QTest::addColumn<QString>("expected");
- initScriptValues();
-}
-
-void tst_QScriptValue::toString_makeData(const char* expr)
-{
- static QHash<QString, QString> toString;
- if (toString.isEmpty()) {
- toString.insert("QScriptValue()", "");
- toString.insert("QScriptValue(QScriptValue::UndefinedValue)", "undefined");
- toString.insert("QScriptValue(QScriptValue::NullValue)", "null");
- toString.insert("QScriptValue(true)", "true");
- toString.insert("QScriptValue(false)", "false");
- toString.insert("QScriptValue(int(122))", "122");
- toString.insert("QScriptValue(uint(124))", "124");
- toString.insert("QScriptValue(0)", "0");
- toString.insert("QScriptValue(0.0)", "0");
- toString.insert("QScriptValue(123.0)", "123");
- toString.insert("QScriptValue(6.37e-8)", "6.37e-8");
- toString.insert("QScriptValue(-6.37e-8)", "-6.37e-8");
- toString.insert("QScriptValue(0x43211234)", "1126240820");
- toString.insert("QScriptValue(0x10000)", "65536");
- toString.insert("QScriptValue(0x10001)", "65537");
- toString.insert("QScriptValue(qSNaN())", "NaN");
- toString.insert("QScriptValue(qQNaN())", "NaN");
- toString.insert("QScriptValue(qInf())", "Infinity");
- toString.insert("QScriptValue(-qInf())", "-Infinity");
- toString.insert("QScriptValue(\"NaN\")", "NaN");
- toString.insert("QScriptValue(\"Infinity\")", "Infinity");
- toString.insert("QScriptValue(\"-Infinity\")", "-Infinity");
- toString.insert("QScriptValue(\"ciao\")", "ciao");
- toString.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", "ciao");
- toString.insert("QScriptValue(QString(\"\"))", "");
- toString.insert("QScriptValue(QString())", "");
- toString.insert("QScriptValue(QString(\"0\"))", "0");
- toString.insert("QScriptValue(QString(\"123\"))", "123");
- toString.insert("QScriptValue(QString(\"12.4\"))", "12.4");
- toString.insert("QScriptValue(0, QScriptValue::UndefinedValue)", "undefined");
- toString.insert("QScriptValue(0, QScriptValue::NullValue)", "null");
- toString.insert("QScriptValue(0, true)", "true");
- toString.insert("QScriptValue(0, false)", "false");
- toString.insert("QScriptValue(0, int(122))", "122");
- toString.insert("QScriptValue(0, uint(124))", "124");
- toString.insert("QScriptValue(0, 0)", "0");
- toString.insert("QScriptValue(0, 0.0)", "0");
- toString.insert("QScriptValue(0, 123.0)", "123");
- toString.insert("QScriptValue(0, 6.37e-8)", "6.37e-8");
- toString.insert("QScriptValue(0, -6.37e-8)", "-6.37e-8");
- toString.insert("QScriptValue(0, 0x43211234)", "1126240820");
- toString.insert("QScriptValue(0, 0x10000)", "65536");
- toString.insert("QScriptValue(0, 0x10001)", "65537");
- toString.insert("QScriptValue(0, qSNaN())", "NaN");
- toString.insert("QScriptValue(0, qQNaN())", "NaN");
- toString.insert("QScriptValue(0, qInf())", "Infinity");
- toString.insert("QScriptValue(0, -qInf())", "-Infinity");
- toString.insert("QScriptValue(0, \"NaN\")", "NaN");
- toString.insert("QScriptValue(0, \"Infinity\")", "Infinity");
- toString.insert("QScriptValue(0, \"-Infinity\")", "-Infinity");
- toString.insert("QScriptValue(0, \"ciao\")", "ciao");
- toString.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", "ciao");
- toString.insert("QScriptValue(0, QString(\"\"))", "");
- toString.insert("QScriptValue(0, QString())", "");
- toString.insert("QScriptValue(0, QString(\"0\"))", "0");
- toString.insert("QScriptValue(0, QString(\"123\"))", "123");
- toString.insert("QScriptValue(0, QString(\"12.3\"))", "12.3");
- toString.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", "undefined");
- toString.insert("QScriptValue(engine, QScriptValue::NullValue)", "null");
- toString.insert("QScriptValue(engine, true)", "true");
- toString.insert("QScriptValue(engine, false)", "false");
- toString.insert("QScriptValue(engine, int(122))", "122");
- toString.insert("QScriptValue(engine, uint(124))", "124");
- toString.insert("QScriptValue(engine, 0)", "0");
- toString.insert("QScriptValue(engine, 0.0)", "0");
- toString.insert("QScriptValue(engine, 123.0)", "123");
- toString.insert("QScriptValue(engine, 6.37e-8)", "6.37e-8");
- toString.insert("QScriptValue(engine, -6.37e-8)", "-6.37e-8");
- toString.insert("QScriptValue(engine, 0x43211234)", "1126240820");
- toString.insert("QScriptValue(engine, 0x10000)", "65536");
- toString.insert("QScriptValue(engine, 0x10001)", "65537");
- toString.insert("QScriptValue(engine, qSNaN())", "NaN");
- toString.insert("QScriptValue(engine, qQNaN())", "NaN");
- toString.insert("QScriptValue(engine, qInf())", "Infinity");
- toString.insert("QScriptValue(engine, -qInf())", "-Infinity");
- toString.insert("QScriptValue(engine, \"NaN\")", "NaN");
- toString.insert("QScriptValue(engine, \"Infinity\")", "Infinity");
- toString.insert("QScriptValue(engine, \"-Infinity\")", "-Infinity");
- toString.insert("QScriptValue(engine, \"ciao\")", "ciao");
- toString.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", "ciao");
- toString.insert("QScriptValue(engine, QString(\"\"))", "");
- toString.insert("QScriptValue(engine, QString())", "");
- toString.insert("QScriptValue(engine, QString(\"0\"))", "0");
- toString.insert("QScriptValue(engine, QString(\"123\"))", "123");
- toString.insert("QScriptValue(engine, QString(\"1.23\"))", "1.23");
- toString.insert("engine->evaluate(\"[]\")", "");
- toString.insert("engine->evaluate(\"{}\")", "undefined");
- toString.insert("engine->evaluate(\"Object.prototype\")", "[object Object]");
- toString.insert("engine->evaluate(\"Date.prototype\")", "Invalid Date");
- toString.insert("engine->evaluate(\"Array.prototype\")", "");
- toString.insert("engine->evaluate(\"Function.prototype\")", "function () {\n [native code]\n}");
- toString.insert("engine->evaluate(\"Error.prototype\")", "Error: Unknown error");
- toString.insert("engine->evaluate(\"Object\")", "function Object() {\n [native code]\n}");
- toString.insert("engine->evaluate(\"Array\")", "function Array() {\n [native code]\n}");
- toString.insert("engine->evaluate(\"Number\")", "function Number() {\n [native code]\n}");
- toString.insert("engine->evaluate(\"Function\")", "function Function() {\n [native code]\n}");
- toString.insert("engine->evaluate(\"(function() { return 1; })\")", "function () { return 1; }");
- toString.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", "function () { return 'ciao'; }");
- toString.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", "function () { throw new Error('foo'); }");
- toString.insert("engine->evaluate(\"/foo/\")", "/foo/");
- toString.insert("engine->evaluate(\"new Object()\")", "[object Object]");
- toString.insert("engine->evaluate(\"new Array()\")", "");
- toString.insert("engine->evaluate(\"new Error()\")", "Error: Unknown error");
- toString.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", "22");
- toString.insert("engine->evaluate(\"Undefined\")", "ReferenceError: Can't find variable: Undefined");
- toString.insert("engine->evaluate(\"Null\")", "ReferenceError: Can't find variable: Null");
- toString.insert("engine->evaluate(\"True\")", "ReferenceError: Can't find variable: True");
- toString.insert("engine->evaluate(\"False\")", "ReferenceError: Can't find variable: False");
- toString.insert("engine->evaluate(\"undefined\")", "undefined");
- toString.insert("engine->evaluate(\"null\")", "null");
- toString.insert("engine->evaluate(\"true\")", "true");
- toString.insert("engine->evaluate(\"false\")", "false");
- toString.insert("engine->evaluate(\"122\")", "122");
- toString.insert("engine->evaluate(\"124\")", "124");
- toString.insert("engine->evaluate(\"0\")", "0");
- toString.insert("engine->evaluate(\"0.0\")", "0");
- toString.insert("engine->evaluate(\"123.0\")", "123");
- toString.insert("engine->evaluate(\"6.37e-8\")", "6.37e-8");
- toString.insert("engine->evaluate(\"-6.37e-8\")", "-6.37e-8");
- toString.insert("engine->evaluate(\"0x43211234\")", "1126240820");
- toString.insert("engine->evaluate(\"0x10000\")", "65536");
- toString.insert("engine->evaluate(\"0x10001\")", "65537");
- toString.insert("engine->evaluate(\"NaN\")", "NaN");
- toString.insert("engine->evaluate(\"Infinity\")", "Infinity");
- toString.insert("engine->evaluate(\"-Infinity\")", "-Infinity");
- toString.insert("engine->evaluate(\"'ciao'\")", "ciao");
- toString.insert("engine->evaluate(\"''\")", "");
- toString.insert("engine->evaluate(\"'0'\")", "0");
- toString.insert("engine->evaluate(\"'123'\")", "123");
- toString.insert("engine->evaluate(\"'12.4'\")", "12.4");
- toString.insert("engine->nullValue()", "null");
- toString.insert("engine->undefinedValue()", "undefined");
- }
- 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();
-}
-
-void tst_QScriptValue::toNumber_makeData(const char* expr)
-{
- static QHash<QString, qsreal> toNumber;
- if (toNumber.isEmpty()) {
- toNumber.insert("QScriptValue()", 0);
- toNumber.insert("QScriptValue(QScriptValue::UndefinedValue)", qQNaN());
- toNumber.insert("QScriptValue(QScriptValue::NullValue)", 0);
- toNumber.insert("QScriptValue(true)", 1);
- toNumber.insert("QScriptValue(false)", 0);
- toNumber.insert("QScriptValue(int(122))", 122);
- toNumber.insert("QScriptValue(uint(124))", 124);
- toNumber.insert("QScriptValue(0)", 0);
- toNumber.insert("QScriptValue(0.0)", 0);
- toNumber.insert("QScriptValue(123.0)", 123);
- toNumber.insert("QScriptValue(6.37e-8)", 6.369999999999999e-08);
- toNumber.insert("QScriptValue(-6.37e-8)", -6.369999999999999e-08);
- toNumber.insert("QScriptValue(0x43211234)", 1126240820);
- toNumber.insert("QScriptValue(0x10000)", 65536);
- toNumber.insert("QScriptValue(0x10001)", 65537);
- toNumber.insert("QScriptValue(qSNaN())", qQNaN());
- toNumber.insert("QScriptValue(qQNaN())", qQNaN());
- toNumber.insert("QScriptValue(qInf())", qInf());
- toNumber.insert("QScriptValue(-qInf())", qInf());
- toNumber.insert("QScriptValue(\"NaN\")", qQNaN());
- toNumber.insert("QScriptValue(\"Infinity\")", qInf());
- toNumber.insert("QScriptValue(\"-Infinity\")", qInf());
- toNumber.insert("QScriptValue(\"ciao\")", qQNaN());
- toNumber.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", qQNaN());
- toNumber.insert("QScriptValue(QString(\"\"))", 0);
- toNumber.insert("QScriptValue(QString())", 0);
- toNumber.insert("QScriptValue(QString(\"0\"))", 0);
- toNumber.insert("QScriptValue(QString(\"123\"))", 123);
- toNumber.insert("QScriptValue(QString(\"12.4\"))", 12.4);
- toNumber.insert("QScriptValue(0, QScriptValue::UndefinedValue)", qQNaN());
- toNumber.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- toNumber.insert("QScriptValue(0, true)", 1);
- toNumber.insert("QScriptValue(0, false)", 0);
- toNumber.insert("QScriptValue(0, int(122))", 122);
- toNumber.insert("QScriptValue(0, uint(124))", 124);
- toNumber.insert("QScriptValue(0, 0)", 0);
- toNumber.insert("QScriptValue(0, 0.0)", 0);
- toNumber.insert("QScriptValue(0, 123.0)", 123);
- toNumber.insert("QScriptValue(0, 6.37e-8)", 6.369999999999999e-08);
- toNumber.insert("QScriptValue(0, -6.37e-8)", -6.369999999999999e-08);
- toNumber.insert("QScriptValue(0, 0x43211234)", 1126240820);
- toNumber.insert("QScriptValue(0, 0x10000)", 65536);
- toNumber.insert("QScriptValue(0, 0x10001)", 65537);
- toNumber.insert("QScriptValue(0, qSNaN())", qQNaN());
- toNumber.insert("QScriptValue(0, qQNaN())", qQNaN());
- toNumber.insert("QScriptValue(0, qInf())", qInf());
- toNumber.insert("QScriptValue(0, -qInf())", qInf());
- toNumber.insert("QScriptValue(0, \"NaN\")", qQNaN());
- toNumber.insert("QScriptValue(0, \"Infinity\")", qInf());
- toNumber.insert("QScriptValue(0, \"-Infinity\")", qInf());
- toNumber.insert("QScriptValue(0, \"ciao\")", qQNaN());
- toNumber.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", qQNaN());
- toNumber.insert("QScriptValue(0, QString(\"\"))", 0);
- toNumber.insert("QScriptValue(0, QString())", 0);
- toNumber.insert("QScriptValue(0, QString(\"0\"))", 0);
- toNumber.insert("QScriptValue(0, QString(\"123\"))", 123);
- toNumber.insert("QScriptValue(0, QString(\"12.3\"))", 12.3);
- toNumber.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", qQNaN());
- toNumber.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- toNumber.insert("QScriptValue(engine, true)", 1);
- toNumber.insert("QScriptValue(engine, false)", 0);
- toNumber.insert("QScriptValue(engine, int(122))", 122);
- toNumber.insert("QScriptValue(engine, uint(124))", 124);
- toNumber.insert("QScriptValue(engine, 0)", 0);
- toNumber.insert("QScriptValue(engine, 0.0)", 0);
- toNumber.insert("QScriptValue(engine, 123.0)", 123);
- toNumber.insert("QScriptValue(engine, 6.37e-8)", 6.369999999999999e-08);
- toNumber.insert("QScriptValue(engine, -6.37e-8)", -6.369999999999999e-08);
- toNumber.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- toNumber.insert("QScriptValue(engine, 0x10000)", 65536);
- toNumber.insert("QScriptValue(engine, 0x10001)", 65537);
- toNumber.insert("QScriptValue(engine, qSNaN())", qQNaN());
- toNumber.insert("QScriptValue(engine, qQNaN())", qQNaN());
- toNumber.insert("QScriptValue(engine, qInf())", qInf());
- toNumber.insert("QScriptValue(engine, -qInf())", qInf());
- toNumber.insert("QScriptValue(engine, \"NaN\")", qQNaN());
- toNumber.insert("QScriptValue(engine, \"Infinity\")", qInf());
- toNumber.insert("QScriptValue(engine, \"-Infinity\")", qInf());
- toNumber.insert("QScriptValue(engine, \"ciao\")", qQNaN());
- toNumber.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", qQNaN());
- toNumber.insert("QScriptValue(engine, QString(\"\"))", 0);
- toNumber.insert("QScriptValue(engine, QString())", 0);
- toNumber.insert("QScriptValue(engine, QString(\"0\"))", 0);
- toNumber.insert("QScriptValue(engine, QString(\"123\"))", 123);
- toNumber.insert("QScriptValue(engine, QString(\"1.23\"))", 1.23);
- toNumber.insert("engine->evaluate(\"[]\")", 0);
- toNumber.insert("engine->evaluate(\"{}\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Object.prototype\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Date.prototype\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Array.prototype\")", 0);
- toNumber.insert("engine->evaluate(\"Function.prototype\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Error.prototype\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Object\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Array\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Number\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Function\")", qQNaN());
- toNumber.insert("engine->evaluate(\"(function() { return 1; })\")", qQNaN());
- toNumber.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", qQNaN());
- toNumber.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", qQNaN());
- toNumber.insert("engine->evaluate(\"/foo/\")", qQNaN());
- toNumber.insert("engine->evaluate(\"new Object()\")", qQNaN());
- toNumber.insert("engine->evaluate(\"new Array()\")", 0);
- toNumber.insert("engine->evaluate(\"new Error()\")", qQNaN());
- toNumber.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- toNumber.insert("engine->evaluate(\"Undefined\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Null\")", qQNaN());
- toNumber.insert("engine->evaluate(\"True\")", qQNaN());
- toNumber.insert("engine->evaluate(\"False\")", qQNaN());
- toNumber.insert("engine->evaluate(\"undefined\")", qQNaN());
- toNumber.insert("engine->evaluate(\"null\")", 0);
- toNumber.insert("engine->evaluate(\"true\")", 1);
- toNumber.insert("engine->evaluate(\"false\")", 0);
- toNumber.insert("engine->evaluate(\"122\")", 122);
- toNumber.insert("engine->evaluate(\"124\")", 124);
- toNumber.insert("engine->evaluate(\"0\")", 0);
- toNumber.insert("engine->evaluate(\"0.0\")", 0);
- toNumber.insert("engine->evaluate(\"123.0\")", 123);
- toNumber.insert("engine->evaluate(\"6.37e-8\")", 6.369999999999999e-08);
- toNumber.insert("engine->evaluate(\"-6.37e-8\")", -6.369999999999999e-08);
- toNumber.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- toNumber.insert("engine->evaluate(\"0x10000\")", 65536);
- toNumber.insert("engine->evaluate(\"0x10001\")", 65537);
- toNumber.insert("engine->evaluate(\"NaN\")", qQNaN());
- toNumber.insert("engine->evaluate(\"Infinity\")", qInf());
- toNumber.insert("engine->evaluate(\"-Infinity\")", qInf());
- toNumber.insert("engine->evaluate(\"'ciao'\")", qQNaN());
- toNumber.insert("engine->evaluate(\"''\")", 0);
- toNumber.insert("engine->evaluate(\"'0'\")", 0);
- toNumber.insert("engine->evaluate(\"'123'\")", 123);
- toNumber.insert("engine->evaluate(\"'12.4'\")", 12.4);
- toNumber.insert("engine->nullValue()", 0);
- toNumber.insert("engine->undefinedValue()", qQNaN());
- }
- 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();
-}
-
-void tst_QScriptValue::toBool_makeData(const char* expr)
-{
- static QHash<QString, bool> toBool;
- if (toBool.isEmpty()) {
- toBool.insert("QScriptValue()", false);
- toBool.insert("QScriptValue(QScriptValue::UndefinedValue)", false);
- toBool.insert("QScriptValue(QScriptValue::NullValue)", false);
- toBool.insert("QScriptValue(true)", true);
- toBool.insert("QScriptValue(false)", false);
- toBool.insert("QScriptValue(int(122))", true);
- toBool.insert("QScriptValue(uint(124))", true);
- toBool.insert("QScriptValue(0)", false);
- toBool.insert("QScriptValue(0.0)", false);
- toBool.insert("QScriptValue(123.0)", true);
- toBool.insert("QScriptValue(6.37e-8)", true);
- toBool.insert("QScriptValue(-6.37e-8)", true);
- toBool.insert("QScriptValue(0x43211234)", true);
- toBool.insert("QScriptValue(0x10000)", true);
- toBool.insert("QScriptValue(0x10001)", true);
- toBool.insert("QScriptValue(qSNaN())", false);
- toBool.insert("QScriptValue(qQNaN())", false);
- toBool.insert("QScriptValue(qInf())", true);
- toBool.insert("QScriptValue(-qInf())", true);
- toBool.insert("QScriptValue(\"NaN\")", true);
- toBool.insert("QScriptValue(\"Infinity\")", true);
- toBool.insert("QScriptValue(\"-Infinity\")", true);
- toBool.insert("QScriptValue(\"ciao\")", true);
- toBool.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", true);
- toBool.insert("QScriptValue(QString(\"\"))", false);
- toBool.insert("QScriptValue(QString())", false);
- toBool.insert("QScriptValue(QString(\"0\"))", true);
- toBool.insert("QScriptValue(QString(\"123\"))", true);
- toBool.insert("QScriptValue(QString(\"12.4\"))", true);
- toBool.insert("QScriptValue(0, QScriptValue::UndefinedValue)", false);
- toBool.insert("QScriptValue(0, QScriptValue::NullValue)", false);
- toBool.insert("QScriptValue(0, true)", true);
- toBool.insert("QScriptValue(0, false)", false);
- toBool.insert("QScriptValue(0, int(122))", true);
- toBool.insert("QScriptValue(0, uint(124))", true);
- toBool.insert("QScriptValue(0, 0)", false);
- toBool.insert("QScriptValue(0, 0.0)", false);
- toBool.insert("QScriptValue(0, 123.0)", true);
- toBool.insert("QScriptValue(0, 6.37e-8)", true);
- toBool.insert("QScriptValue(0, -6.37e-8)", true);
- toBool.insert("QScriptValue(0, 0x43211234)", true);
- toBool.insert("QScriptValue(0, 0x10000)", true);
- toBool.insert("QScriptValue(0, 0x10001)", true);
- toBool.insert("QScriptValue(0, qSNaN())", false);
- toBool.insert("QScriptValue(0, qQNaN())", false);
- toBool.insert("QScriptValue(0, qInf())", true);
- toBool.insert("QScriptValue(0, -qInf())", true);
- toBool.insert("QScriptValue(0, \"NaN\")", true);
- toBool.insert("QScriptValue(0, \"Infinity\")", true);
- toBool.insert("QScriptValue(0, \"-Infinity\")", true);
- toBool.insert("QScriptValue(0, \"ciao\")", true);
- toBool.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", true);
- toBool.insert("QScriptValue(0, QString(\"\"))", false);
- toBool.insert("QScriptValue(0, QString())", false);
- toBool.insert("QScriptValue(0, QString(\"0\"))", true);
- toBool.insert("QScriptValue(0, QString(\"123\"))", true);
- toBool.insert("QScriptValue(0, QString(\"12.3\"))", true);
- toBool.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", false);
- toBool.insert("QScriptValue(engine, QScriptValue::NullValue)", false);
- toBool.insert("QScriptValue(engine, true)", true);
- toBool.insert("QScriptValue(engine, false)", false);
- toBool.insert("QScriptValue(engine, int(122))", true);
- toBool.insert("QScriptValue(engine, uint(124))", true);
- toBool.insert("QScriptValue(engine, 0)", false);
- toBool.insert("QScriptValue(engine, 0.0)", false);
- toBool.insert("QScriptValue(engine, 123.0)", true);
- toBool.insert("QScriptValue(engine, 6.37e-8)", true);
- toBool.insert("QScriptValue(engine, -6.37e-8)", true);
- toBool.insert("QScriptValue(engine, 0x43211234)", true);
- toBool.insert("QScriptValue(engine, 0x10000)", true);
- toBool.insert("QScriptValue(engine, 0x10001)", true);
- toBool.insert("QScriptValue(engine, qSNaN())", false);
- toBool.insert("QScriptValue(engine, qQNaN())", false);
- toBool.insert("QScriptValue(engine, qInf())", true);
- toBool.insert("QScriptValue(engine, -qInf())", true);
- toBool.insert("QScriptValue(engine, \"NaN\")", true);
- toBool.insert("QScriptValue(engine, \"Infinity\")", true);
- toBool.insert("QScriptValue(engine, \"-Infinity\")", true);
- toBool.insert("QScriptValue(engine, \"ciao\")", true);
- toBool.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", true);
- toBool.insert("QScriptValue(engine, QString(\"\"))", false);
- toBool.insert("QScriptValue(engine, QString())", false);
- toBool.insert("QScriptValue(engine, QString(\"0\"))", true);
- toBool.insert("QScriptValue(engine, QString(\"123\"))", true);
- toBool.insert("QScriptValue(engine, QString(\"1.23\"))", true);
- toBool.insert("engine->evaluate(\"[]\")", true);
- toBool.insert("engine->evaluate(\"{}\")", false);
- toBool.insert("engine->evaluate(\"Object.prototype\")", true);
- toBool.insert("engine->evaluate(\"Date.prototype\")", true);
- toBool.insert("engine->evaluate(\"Array.prototype\")", true);
- toBool.insert("engine->evaluate(\"Function.prototype\")", true);
- toBool.insert("engine->evaluate(\"Error.prototype\")", true);
- toBool.insert("engine->evaluate(\"Object\")", true);
- toBool.insert("engine->evaluate(\"Array\")", true);
- toBool.insert("engine->evaluate(\"Number\")", true);
- toBool.insert("engine->evaluate(\"Function\")", true);
- toBool.insert("engine->evaluate(\"(function() { return 1; })\")", true);
- toBool.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", true);
- toBool.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", true);
- toBool.insert("engine->evaluate(\"/foo/\")", true);
- toBool.insert("engine->evaluate(\"new Object()\")", true);
- toBool.insert("engine->evaluate(\"new Array()\")", true);
- toBool.insert("engine->evaluate(\"new Error()\")", true);
- toBool.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", true);
- toBool.insert("engine->evaluate(\"Undefined\")", true);
- toBool.insert("engine->evaluate(\"Null\")", true);
- toBool.insert("engine->evaluate(\"True\")", true);
- toBool.insert("engine->evaluate(\"False\")", true);
- toBool.insert("engine->evaluate(\"undefined\")", false);
- toBool.insert("engine->evaluate(\"null\")", false);
- toBool.insert("engine->evaluate(\"true\")", true);
- toBool.insert("engine->evaluate(\"false\")", false);
- toBool.insert("engine->evaluate(\"122\")", true);
- toBool.insert("engine->evaluate(\"124\")", true);
- toBool.insert("engine->evaluate(\"0\")", false);
- toBool.insert("engine->evaluate(\"0.0\")", false);
- toBool.insert("engine->evaluate(\"123.0\")", true);
- toBool.insert("engine->evaluate(\"6.37e-8\")", true);
- toBool.insert("engine->evaluate(\"-6.37e-8\")", true);
- toBool.insert("engine->evaluate(\"0x43211234\")", true);
- toBool.insert("engine->evaluate(\"0x10000\")", true);
- toBool.insert("engine->evaluate(\"0x10001\")", true);
- toBool.insert("engine->evaluate(\"NaN\")", false);
- toBool.insert("engine->evaluate(\"Infinity\")", true);
- toBool.insert("engine->evaluate(\"-Infinity\")", true);
- toBool.insert("engine->evaluate(\"'ciao'\")", true);
- toBool.insert("engine->evaluate(\"''\")", false);
- toBool.insert("engine->evaluate(\"'0'\")", true);
- toBool.insert("engine->evaluate(\"'123'\")", true);
- toBool.insert("engine->evaluate(\"'12.4'\")", true);
- toBool.insert("engine->nullValue()", false);
- toBool.insert("engine->undefinedValue()", false);
- }
- 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();
-}
-
-void tst_QScriptValue::toBoolean_makeData(const char* expr)
-{
- static QHash<QString, bool> toBoolean;
- if (toBoolean.isEmpty()) {
- toBoolean.insert("QScriptValue()", false);
- toBoolean.insert("QScriptValue(QScriptValue::UndefinedValue)", false);
- toBoolean.insert("QScriptValue(QScriptValue::NullValue)", false);
- toBoolean.insert("QScriptValue(true)", true);
- toBoolean.insert("QScriptValue(false)", false);
- toBoolean.insert("QScriptValue(int(122))", true);
- toBoolean.insert("QScriptValue(uint(124))", true);
- toBoolean.insert("QScriptValue(0)", false);
- toBoolean.insert("QScriptValue(0.0)", false);
- toBoolean.insert("QScriptValue(123.0)", true);
- toBoolean.insert("QScriptValue(6.37e-8)", true);
- toBoolean.insert("QScriptValue(-6.37e-8)", true);
- toBoolean.insert("QScriptValue(0x43211234)", true);
- toBoolean.insert("QScriptValue(0x10000)", true);
- toBoolean.insert("QScriptValue(0x10001)", true);
- toBoolean.insert("QScriptValue(qSNaN())", false);
- toBoolean.insert("QScriptValue(qQNaN())", false);
- toBoolean.insert("QScriptValue(qInf())", true);
- toBoolean.insert("QScriptValue(-qInf())", true);
- toBoolean.insert("QScriptValue(\"NaN\")", true);
- toBoolean.insert("QScriptValue(\"Infinity\")", true);
- toBoolean.insert("QScriptValue(\"-Infinity\")", true);
- toBoolean.insert("QScriptValue(\"ciao\")", true);
- toBoolean.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", true);
- toBoolean.insert("QScriptValue(QString(\"\"))", false);
- toBoolean.insert("QScriptValue(QString())", false);
- toBoolean.insert("QScriptValue(QString(\"0\"))", true);
- toBoolean.insert("QScriptValue(QString(\"123\"))", true);
- toBoolean.insert("QScriptValue(QString(\"12.4\"))", true);
- toBoolean.insert("QScriptValue(0, QScriptValue::UndefinedValue)", false);
- toBoolean.insert("QScriptValue(0, QScriptValue::NullValue)", false);
- toBoolean.insert("QScriptValue(0, true)", true);
- toBoolean.insert("QScriptValue(0, false)", false);
- toBoolean.insert("QScriptValue(0, int(122))", true);
- toBoolean.insert("QScriptValue(0, uint(124))", true);
- toBoolean.insert("QScriptValue(0, 0)", false);
- toBoolean.insert("QScriptValue(0, 0.0)", false);
- toBoolean.insert("QScriptValue(0, 123.0)", true);
- toBoolean.insert("QScriptValue(0, 6.37e-8)", true);
- toBoolean.insert("QScriptValue(0, -6.37e-8)", true);
- toBoolean.insert("QScriptValue(0, 0x43211234)", true);
- toBoolean.insert("QScriptValue(0, 0x10000)", true);
- toBoolean.insert("QScriptValue(0, 0x10001)", true);
- toBoolean.insert("QScriptValue(0, qSNaN())", false);
- toBoolean.insert("QScriptValue(0, qQNaN())", false);
- toBoolean.insert("QScriptValue(0, qInf())", true);
- toBoolean.insert("QScriptValue(0, -qInf())", true);
- toBoolean.insert("QScriptValue(0, \"NaN\")", true);
- toBoolean.insert("QScriptValue(0, \"Infinity\")", true);
- toBoolean.insert("QScriptValue(0, \"-Infinity\")", true);
- toBoolean.insert("QScriptValue(0, \"ciao\")", true);
- toBoolean.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", true);
- toBoolean.insert("QScriptValue(0, QString(\"\"))", false);
- toBoolean.insert("QScriptValue(0, QString())", false);
- toBoolean.insert("QScriptValue(0, QString(\"0\"))", true);
- toBoolean.insert("QScriptValue(0, QString(\"123\"))", true);
- toBoolean.insert("QScriptValue(0, QString(\"12.3\"))", true);
- toBoolean.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", false);
- toBoolean.insert("QScriptValue(engine, QScriptValue::NullValue)", false);
- toBoolean.insert("QScriptValue(engine, true)", true);
- toBoolean.insert("QScriptValue(engine, false)", false);
- toBoolean.insert("QScriptValue(engine, int(122))", true);
- toBoolean.insert("QScriptValue(engine, uint(124))", true);
- toBoolean.insert("QScriptValue(engine, 0)", false);
- toBoolean.insert("QScriptValue(engine, 0.0)", false);
- toBoolean.insert("QScriptValue(engine, 123.0)", true);
- toBoolean.insert("QScriptValue(engine, 6.37e-8)", true);
- toBoolean.insert("QScriptValue(engine, -6.37e-8)", true);
- toBoolean.insert("QScriptValue(engine, 0x43211234)", true);
- toBoolean.insert("QScriptValue(engine, 0x10000)", true);
- toBoolean.insert("QScriptValue(engine, 0x10001)", true);
- toBoolean.insert("QScriptValue(engine, qSNaN())", false);
- toBoolean.insert("QScriptValue(engine, qQNaN())", false);
- toBoolean.insert("QScriptValue(engine, qInf())", true);
- toBoolean.insert("QScriptValue(engine, -qInf())", true);
- toBoolean.insert("QScriptValue(engine, \"NaN\")", true);
- toBoolean.insert("QScriptValue(engine, \"Infinity\")", true);
- toBoolean.insert("QScriptValue(engine, \"-Infinity\")", true);
- toBoolean.insert("QScriptValue(engine, \"ciao\")", true);
- toBoolean.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", true);
- toBoolean.insert("QScriptValue(engine, QString(\"\"))", false);
- toBoolean.insert("QScriptValue(engine, QString())", false);
- toBoolean.insert("QScriptValue(engine, QString(\"0\"))", true);
- toBoolean.insert("QScriptValue(engine, QString(\"123\"))", true);
- toBoolean.insert("QScriptValue(engine, QString(\"1.23\"))", true);
- toBoolean.insert("engine->evaluate(\"[]\")", true);
- toBoolean.insert("engine->evaluate(\"{}\")", false);
- toBoolean.insert("engine->evaluate(\"Object.prototype\")", true);
- toBoolean.insert("engine->evaluate(\"Date.prototype\")", true);
- toBoolean.insert("engine->evaluate(\"Array.prototype\")", true);
- toBoolean.insert("engine->evaluate(\"Function.prototype\")", true);
- toBoolean.insert("engine->evaluate(\"Error.prototype\")", true);
- toBoolean.insert("engine->evaluate(\"Object\")", true);
- toBoolean.insert("engine->evaluate(\"Array\")", true);
- toBoolean.insert("engine->evaluate(\"Number\")", true);
- toBoolean.insert("engine->evaluate(\"Function\")", true);
- toBoolean.insert("engine->evaluate(\"(function() { return 1; })\")", true);
- toBoolean.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", true);
- toBoolean.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", true);
- toBoolean.insert("engine->evaluate(\"/foo/\")", true);
- toBoolean.insert("engine->evaluate(\"new Object()\")", true);
- toBoolean.insert("engine->evaluate(\"new Array()\")", true);
- toBoolean.insert("engine->evaluate(\"new Error()\")", true);
- toBoolean.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", true);
- toBoolean.insert("engine->evaluate(\"Undefined\")", true);
- toBoolean.insert("engine->evaluate(\"Null\")", true);
- toBoolean.insert("engine->evaluate(\"True\")", true);
- toBoolean.insert("engine->evaluate(\"False\")", true);
- toBoolean.insert("engine->evaluate(\"undefined\")", false);
- toBoolean.insert("engine->evaluate(\"null\")", false);
- toBoolean.insert("engine->evaluate(\"true\")", true);
- toBoolean.insert("engine->evaluate(\"false\")", false);
- toBoolean.insert("engine->evaluate(\"122\")", true);
- toBoolean.insert("engine->evaluate(\"124\")", true);
- toBoolean.insert("engine->evaluate(\"0\")", false);
- toBoolean.insert("engine->evaluate(\"0.0\")", false);
- toBoolean.insert("engine->evaluate(\"123.0\")", true);
- toBoolean.insert("engine->evaluate(\"6.37e-8\")", true);
- toBoolean.insert("engine->evaluate(\"-6.37e-8\")", true);
- toBoolean.insert("engine->evaluate(\"0x43211234\")", true);
- toBoolean.insert("engine->evaluate(\"0x10000\")", true);
- toBoolean.insert("engine->evaluate(\"0x10001\")", true);
- toBoolean.insert("engine->evaluate(\"NaN\")", false);
- toBoolean.insert("engine->evaluate(\"Infinity\")", true);
- toBoolean.insert("engine->evaluate(\"-Infinity\")", true);
- toBoolean.insert("engine->evaluate(\"'ciao'\")", true);
- toBoolean.insert("engine->evaluate(\"''\")", false);
- toBoolean.insert("engine->evaluate(\"'0'\")", true);
- toBoolean.insert("engine->evaluate(\"'123'\")", true);
- toBoolean.insert("engine->evaluate(\"'12.4'\")", true);
- toBoolean.insert("engine->nullValue()", false);
- toBoolean.insert("engine->undefinedValue()", false);
- }
- 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();
-}
-
-void tst_QScriptValue::toInteger_makeData(const char* expr)
-{
- static QHash<QString, qsreal> toInteger;
- if (toInteger.isEmpty()) {
- toInteger.insert("QScriptValue()", 0);
- toInteger.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- toInteger.insert("QScriptValue(QScriptValue::NullValue)", 0);
- toInteger.insert("QScriptValue(true)", 1);
- toInteger.insert("QScriptValue(false)", 0);
- toInteger.insert("QScriptValue(int(122))", 122);
- toInteger.insert("QScriptValue(uint(124))", 124);
- toInteger.insert("QScriptValue(0)", 0);
- toInteger.insert("QScriptValue(0.0)", 0);
- toInteger.insert("QScriptValue(123.0)", 123);
- toInteger.insert("QScriptValue(6.37e-8)", 0);
- toInteger.insert("QScriptValue(-6.37e-8)", 0);
- toInteger.insert("QScriptValue(0x43211234)", 1126240820);
- toInteger.insert("QScriptValue(0x10000)", 65536);
- toInteger.insert("QScriptValue(0x10001)", 65537);
- toInteger.insert("QScriptValue(qSNaN())", 0);
- toInteger.insert("QScriptValue(qQNaN())", 0);
- toInteger.insert("QScriptValue(qInf())", qInf());
- toInteger.insert("QScriptValue(-qInf())", qInf());
- toInteger.insert("QScriptValue(\"NaN\")", 0);
- toInteger.insert("QScriptValue(\"Infinity\")", qInf());
- toInteger.insert("QScriptValue(\"-Infinity\")", qInf());
- toInteger.insert("QScriptValue(\"ciao\")", 0);
- toInteger.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- toInteger.insert("QScriptValue(QString(\"\"))", 0);
- toInteger.insert("QScriptValue(QString())", 0);
- toInteger.insert("QScriptValue(QString(\"0\"))", 0);
- toInteger.insert("QScriptValue(QString(\"123\"))", 123);
- toInteger.insert("QScriptValue(QString(\"12.4\"))", 12);
- toInteger.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- toInteger.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- toInteger.insert("QScriptValue(0, true)", 1);
- toInteger.insert("QScriptValue(0, false)", 0);
- toInteger.insert("QScriptValue(0, int(122))", 122);
- toInteger.insert("QScriptValue(0, uint(124))", 124);
- toInteger.insert("QScriptValue(0, 0)", 0);
- toInteger.insert("QScriptValue(0, 0.0)", 0);
- toInteger.insert("QScriptValue(0, 123.0)", 123);
- toInteger.insert("QScriptValue(0, 6.37e-8)", 0);
- toInteger.insert("QScriptValue(0, -6.37e-8)", 0);
- toInteger.insert("QScriptValue(0, 0x43211234)", 1126240820);
- toInteger.insert("QScriptValue(0, 0x10000)", 65536);
- toInteger.insert("QScriptValue(0, 0x10001)", 65537);
- toInteger.insert("QScriptValue(0, qSNaN())", 0);
- toInteger.insert("QScriptValue(0, qQNaN())", 0);
- toInteger.insert("QScriptValue(0, qInf())", qInf());
- toInteger.insert("QScriptValue(0, -qInf())", qInf());
- toInteger.insert("QScriptValue(0, \"NaN\")", 0);
- toInteger.insert("QScriptValue(0, \"Infinity\")", qInf());
- toInteger.insert("QScriptValue(0, \"-Infinity\")", qInf());
- toInteger.insert("QScriptValue(0, \"ciao\")", 0);
- toInteger.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- toInteger.insert("QScriptValue(0, QString(\"\"))", 0);
- toInteger.insert("QScriptValue(0, QString())", 0);
- toInteger.insert("QScriptValue(0, QString(\"0\"))", 0);
- toInteger.insert("QScriptValue(0, QString(\"123\"))", 123);
- toInteger.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- toInteger.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- toInteger.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- toInteger.insert("QScriptValue(engine, true)", 1);
- toInteger.insert("QScriptValue(engine, false)", 0);
- toInteger.insert("QScriptValue(engine, int(122))", 122);
- toInteger.insert("QScriptValue(engine, uint(124))", 124);
- toInteger.insert("QScriptValue(engine, 0)", 0);
- toInteger.insert("QScriptValue(engine, 0.0)", 0);
- toInteger.insert("QScriptValue(engine, 123.0)", 123);
- toInteger.insert("QScriptValue(engine, 6.37e-8)", 0);
- toInteger.insert("QScriptValue(engine, -6.37e-8)", 0);
- toInteger.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- toInteger.insert("QScriptValue(engine, 0x10000)", 65536);
- toInteger.insert("QScriptValue(engine, 0x10001)", 65537);
- toInteger.insert("QScriptValue(engine, qSNaN())", 0);
- toInteger.insert("QScriptValue(engine, qQNaN())", 0);
- toInteger.insert("QScriptValue(engine, qInf())", qInf());
- toInteger.insert("QScriptValue(engine, -qInf())", qInf());
- toInteger.insert("QScriptValue(engine, \"NaN\")", 0);
- toInteger.insert("QScriptValue(engine, \"Infinity\")", qInf());
- toInteger.insert("QScriptValue(engine, \"-Infinity\")", qInf());
- toInteger.insert("QScriptValue(engine, \"ciao\")", 0);
- toInteger.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- toInteger.insert("QScriptValue(engine, QString(\"\"))", 0);
- toInteger.insert("QScriptValue(engine, QString())", 0);
- toInteger.insert("QScriptValue(engine, QString(\"0\"))", 0);
- toInteger.insert("QScriptValue(engine, QString(\"123\"))", 123);
- toInteger.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- toInteger.insert("engine->evaluate(\"[]\")", 0);
- toInteger.insert("engine->evaluate(\"{}\")", 0);
- toInteger.insert("engine->evaluate(\"Object.prototype\")", 0);
- toInteger.insert("engine->evaluate(\"Date.prototype\")", 0);
- toInteger.insert("engine->evaluate(\"Array.prototype\")", 0);
- toInteger.insert("engine->evaluate(\"Function.prototype\")", 0);
- toInteger.insert("engine->evaluate(\"Error.prototype\")", 0);
- toInteger.insert("engine->evaluate(\"Object\")", 0);
- toInteger.insert("engine->evaluate(\"Array\")", 0);
- toInteger.insert("engine->evaluate(\"Number\")", 0);
- toInteger.insert("engine->evaluate(\"Function\")", 0);
- toInteger.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- toInteger.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- toInteger.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- toInteger.insert("engine->evaluate(\"/foo/\")", 0);
- toInteger.insert("engine->evaluate(\"new Object()\")", 0);
- toInteger.insert("engine->evaluate(\"new Array()\")", 0);
- toInteger.insert("engine->evaluate(\"new Error()\")", 0);
- toInteger.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- toInteger.insert("engine->evaluate(\"Undefined\")", 0);
- toInteger.insert("engine->evaluate(\"Null\")", 0);
- toInteger.insert("engine->evaluate(\"True\")", 0);
- toInteger.insert("engine->evaluate(\"False\")", 0);
- toInteger.insert("engine->evaluate(\"undefined\")", 0);
- toInteger.insert("engine->evaluate(\"null\")", 0);
- toInteger.insert("engine->evaluate(\"true\")", 1);
- toInteger.insert("engine->evaluate(\"false\")", 0);
- toInteger.insert("engine->evaluate(\"122\")", 122);
- toInteger.insert("engine->evaluate(\"124\")", 124);
- toInteger.insert("engine->evaluate(\"0\")", 0);
- toInteger.insert("engine->evaluate(\"0.0\")", 0);
- toInteger.insert("engine->evaluate(\"123.0\")", 123);
- toInteger.insert("engine->evaluate(\"6.37e-8\")", 0);
- toInteger.insert("engine->evaluate(\"-6.37e-8\")", 0);
- toInteger.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- toInteger.insert("engine->evaluate(\"0x10000\")", 65536);
- toInteger.insert("engine->evaluate(\"0x10001\")", 65537);
- toInteger.insert("engine->evaluate(\"NaN\")", 0);
- toInteger.insert("engine->evaluate(\"Infinity\")", qInf());
- toInteger.insert("engine->evaluate(\"-Infinity\")", qInf());
- toInteger.insert("engine->evaluate(\"'ciao'\")", 0);
- toInteger.insert("engine->evaluate(\"''\")", 0);
- toInteger.insert("engine->evaluate(\"'0'\")", 0);
- toInteger.insert("engine->evaluate(\"'123'\")", 123);
- toInteger.insert("engine->evaluate(\"'12.4'\")", 12);
- toInteger.insert("engine->nullValue()", 0);
- toInteger.insert("engine->undefinedValue()", 0);
- }
- 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();
-}
-
-void tst_QScriptValue::toInt32_makeData(const char* expr)
-{
- static QHash<QString, qint32> toInt32;
- if (toInt32.isEmpty()) {
- toInt32.insert("QScriptValue()", 0);
- toInt32.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- toInt32.insert("QScriptValue(QScriptValue::NullValue)", 0);
- toInt32.insert("QScriptValue(true)", 1);
- toInt32.insert("QScriptValue(false)", 0);
- toInt32.insert("QScriptValue(int(122))", 122);
- toInt32.insert("QScriptValue(uint(124))", 124);
- toInt32.insert("QScriptValue(0)", 0);
- toInt32.insert("QScriptValue(0.0)", 0);
- toInt32.insert("QScriptValue(123.0)", 123);
- toInt32.insert("QScriptValue(6.37e-8)", 0);
- toInt32.insert("QScriptValue(-6.37e-8)", 0);
- toInt32.insert("QScriptValue(0x43211234)", 1126240820);
- toInt32.insert("QScriptValue(0x10000)", 65536);
- toInt32.insert("QScriptValue(0x10001)", 65537);
- toInt32.insert("QScriptValue(qSNaN())", 0);
- toInt32.insert("QScriptValue(qQNaN())", 0);
- toInt32.insert("QScriptValue(qInf())", 0);
- toInt32.insert("QScriptValue(-qInf())", 0);
- toInt32.insert("QScriptValue(\"NaN\")", 0);
- toInt32.insert("QScriptValue(\"Infinity\")", 0);
- toInt32.insert("QScriptValue(\"-Infinity\")", 0);
- toInt32.insert("QScriptValue(\"ciao\")", 0);
- toInt32.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- toInt32.insert("QScriptValue(QString(\"\"))", 0);
- toInt32.insert("QScriptValue(QString())", 0);
- toInt32.insert("QScriptValue(QString(\"0\"))", 0);
- toInt32.insert("QScriptValue(QString(\"123\"))", 123);
- toInt32.insert("QScriptValue(QString(\"12.4\"))", 12);
- toInt32.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- toInt32.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- toInt32.insert("QScriptValue(0, true)", 1);
- toInt32.insert("QScriptValue(0, false)", 0);
- toInt32.insert("QScriptValue(0, int(122))", 122);
- toInt32.insert("QScriptValue(0, uint(124))", 124);
- toInt32.insert("QScriptValue(0, 0)", 0);
- toInt32.insert("QScriptValue(0, 0.0)", 0);
- toInt32.insert("QScriptValue(0, 123.0)", 123);
- toInt32.insert("QScriptValue(0, 6.37e-8)", 0);
- toInt32.insert("QScriptValue(0, -6.37e-8)", 0);
- toInt32.insert("QScriptValue(0, 0x43211234)", 1126240820);
- toInt32.insert("QScriptValue(0, 0x10000)", 65536);
- toInt32.insert("QScriptValue(0, 0x10001)", 65537);
- toInt32.insert("QScriptValue(0, qSNaN())", 0);
- toInt32.insert("QScriptValue(0, qQNaN())", 0);
- toInt32.insert("QScriptValue(0, qInf())", 0);
- toInt32.insert("QScriptValue(0, -qInf())", 0);
- toInt32.insert("QScriptValue(0, \"NaN\")", 0);
- toInt32.insert("QScriptValue(0, \"Infinity\")", 0);
- toInt32.insert("QScriptValue(0, \"-Infinity\")", 0);
- toInt32.insert("QScriptValue(0, \"ciao\")", 0);
- toInt32.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- toInt32.insert("QScriptValue(0, QString(\"\"))", 0);
- toInt32.insert("QScriptValue(0, QString())", 0);
- toInt32.insert("QScriptValue(0, QString(\"0\"))", 0);
- toInt32.insert("QScriptValue(0, QString(\"123\"))", 123);
- toInt32.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- toInt32.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- toInt32.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- toInt32.insert("QScriptValue(engine, true)", 1);
- toInt32.insert("QScriptValue(engine, false)", 0);
- toInt32.insert("QScriptValue(engine, int(122))", 122);
- toInt32.insert("QScriptValue(engine, uint(124))", 124);
- toInt32.insert("QScriptValue(engine, 0)", 0);
- toInt32.insert("QScriptValue(engine, 0.0)", 0);
- toInt32.insert("QScriptValue(engine, 123.0)", 123);
- toInt32.insert("QScriptValue(engine, 6.37e-8)", 0);
- toInt32.insert("QScriptValue(engine, -6.37e-8)", 0);
- toInt32.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- toInt32.insert("QScriptValue(engine, 0x10000)", 65536);
- toInt32.insert("QScriptValue(engine, 0x10001)", 65537);
- toInt32.insert("QScriptValue(engine, qSNaN())", 0);
- toInt32.insert("QScriptValue(engine, qQNaN())", 0);
- toInt32.insert("QScriptValue(engine, qInf())", 0);
- toInt32.insert("QScriptValue(engine, -qInf())", 0);
- toInt32.insert("QScriptValue(engine, \"NaN\")", 0);
- toInt32.insert("QScriptValue(engine, \"Infinity\")", 0);
- toInt32.insert("QScriptValue(engine, \"-Infinity\")", 0);
- toInt32.insert("QScriptValue(engine, \"ciao\")", 0);
- toInt32.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- toInt32.insert("QScriptValue(engine, QString(\"\"))", 0);
- toInt32.insert("QScriptValue(engine, QString())", 0);
- toInt32.insert("QScriptValue(engine, QString(\"0\"))", 0);
- toInt32.insert("QScriptValue(engine, QString(\"123\"))", 123);
- toInt32.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- toInt32.insert("engine->evaluate(\"[]\")", 0);
- toInt32.insert("engine->evaluate(\"{}\")", 0);
- toInt32.insert("engine->evaluate(\"Object.prototype\")", 0);
- toInt32.insert("engine->evaluate(\"Date.prototype\")", 0);
- toInt32.insert("engine->evaluate(\"Array.prototype\")", 0);
- toInt32.insert("engine->evaluate(\"Function.prototype\")", 0);
- toInt32.insert("engine->evaluate(\"Error.prototype\")", 0);
- toInt32.insert("engine->evaluate(\"Object\")", 0);
- toInt32.insert("engine->evaluate(\"Array\")", 0);
- toInt32.insert("engine->evaluate(\"Number\")", 0);
- toInt32.insert("engine->evaluate(\"Function\")", 0);
- toInt32.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- toInt32.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- toInt32.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- toInt32.insert("engine->evaluate(\"/foo/\")", 0);
- toInt32.insert("engine->evaluate(\"new Object()\")", 0);
- toInt32.insert("engine->evaluate(\"new Array()\")", 0);
- toInt32.insert("engine->evaluate(\"new Error()\")", 0);
- toInt32.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- toInt32.insert("engine->evaluate(\"Undefined\")", 0);
- toInt32.insert("engine->evaluate(\"Null\")", 0);
- toInt32.insert("engine->evaluate(\"True\")", 0);
- toInt32.insert("engine->evaluate(\"False\")", 0);
- toInt32.insert("engine->evaluate(\"undefined\")", 0);
- toInt32.insert("engine->evaluate(\"null\")", 0);
- toInt32.insert("engine->evaluate(\"true\")", 1);
- toInt32.insert("engine->evaluate(\"false\")", 0);
- toInt32.insert("engine->evaluate(\"122\")", 122);
- toInt32.insert("engine->evaluate(\"124\")", 124);
- toInt32.insert("engine->evaluate(\"0\")", 0);
- toInt32.insert("engine->evaluate(\"0.0\")", 0);
- toInt32.insert("engine->evaluate(\"123.0\")", 123);
- toInt32.insert("engine->evaluate(\"6.37e-8\")", 0);
- toInt32.insert("engine->evaluate(\"-6.37e-8\")", 0);
- toInt32.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- toInt32.insert("engine->evaluate(\"0x10000\")", 65536);
- toInt32.insert("engine->evaluate(\"0x10001\")", 65537);
- toInt32.insert("engine->evaluate(\"NaN\")", 0);
- toInt32.insert("engine->evaluate(\"Infinity\")", 0);
- toInt32.insert("engine->evaluate(\"-Infinity\")", 0);
- toInt32.insert("engine->evaluate(\"'ciao'\")", 0);
- toInt32.insert("engine->evaluate(\"''\")", 0);
- toInt32.insert("engine->evaluate(\"'0'\")", 0);
- toInt32.insert("engine->evaluate(\"'123'\")", 123);
- toInt32.insert("engine->evaluate(\"'12.4'\")", 12);
- toInt32.insert("engine->nullValue()", 0);
- toInt32.insert("engine->undefinedValue()", 0);
- }
- 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();
-}
-
-void tst_QScriptValue::toUInt32_makeData(const char* expr)
-{
- static QHash<QString, quint32> toUInt32;
- if (toUInt32.isEmpty()) {
- toUInt32.insert("QScriptValue()", 0);
- toUInt32.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- toUInt32.insert("QScriptValue(QScriptValue::NullValue)", 0);
- toUInt32.insert("QScriptValue(true)", 1);
- toUInt32.insert("QScriptValue(false)", 0);
- toUInt32.insert("QScriptValue(int(122))", 122);
- toUInt32.insert("QScriptValue(uint(124))", 124);
- toUInt32.insert("QScriptValue(0)", 0);
- toUInt32.insert("QScriptValue(0.0)", 0);
- toUInt32.insert("QScriptValue(123.0)", 123);
- toUInt32.insert("QScriptValue(6.37e-8)", 0);
- toUInt32.insert("QScriptValue(-6.37e-8)", 0);
- toUInt32.insert("QScriptValue(0x43211234)", 1126240820);
- toUInt32.insert("QScriptValue(0x10000)", 65536);
- toUInt32.insert("QScriptValue(0x10001)", 65537);
- toUInt32.insert("QScriptValue(qSNaN())", 0);
- toUInt32.insert("QScriptValue(qQNaN())", 0);
- toUInt32.insert("QScriptValue(qInf())", 0);
- toUInt32.insert("QScriptValue(-qInf())", 0);
- toUInt32.insert("QScriptValue(\"NaN\")", 0);
- toUInt32.insert("QScriptValue(\"Infinity\")", 0);
- toUInt32.insert("QScriptValue(\"-Infinity\")", 0);
- toUInt32.insert("QScriptValue(\"ciao\")", 0);
- toUInt32.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- toUInt32.insert("QScriptValue(QString(\"\"))", 0);
- toUInt32.insert("QScriptValue(QString())", 0);
- toUInt32.insert("QScriptValue(QString(\"0\"))", 0);
- toUInt32.insert("QScriptValue(QString(\"123\"))", 123);
- toUInt32.insert("QScriptValue(QString(\"12.4\"))", 12);
- toUInt32.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- toUInt32.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- toUInt32.insert("QScriptValue(0, true)", 1);
- toUInt32.insert("QScriptValue(0, false)", 0);
- toUInt32.insert("QScriptValue(0, int(122))", 122);
- toUInt32.insert("QScriptValue(0, uint(124))", 124);
- toUInt32.insert("QScriptValue(0, 0)", 0);
- toUInt32.insert("QScriptValue(0, 0.0)", 0);
- toUInt32.insert("QScriptValue(0, 123.0)", 123);
- toUInt32.insert("QScriptValue(0, 6.37e-8)", 0);
- toUInt32.insert("QScriptValue(0, -6.37e-8)", 0);
- toUInt32.insert("QScriptValue(0, 0x43211234)", 1126240820);
- toUInt32.insert("QScriptValue(0, 0x10000)", 65536);
- toUInt32.insert("QScriptValue(0, 0x10001)", 65537);
- toUInt32.insert("QScriptValue(0, qSNaN())", 0);
- toUInt32.insert("QScriptValue(0, qQNaN())", 0);
- toUInt32.insert("QScriptValue(0, qInf())", 0);
- toUInt32.insert("QScriptValue(0, -qInf())", 0);
- toUInt32.insert("QScriptValue(0, \"NaN\")", 0);
- toUInt32.insert("QScriptValue(0, \"Infinity\")", 0);
- toUInt32.insert("QScriptValue(0, \"-Infinity\")", 0);
- toUInt32.insert("QScriptValue(0, \"ciao\")", 0);
- toUInt32.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- toUInt32.insert("QScriptValue(0, QString(\"\"))", 0);
- toUInt32.insert("QScriptValue(0, QString())", 0);
- toUInt32.insert("QScriptValue(0, QString(\"0\"))", 0);
- toUInt32.insert("QScriptValue(0, QString(\"123\"))", 123);
- toUInt32.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- toUInt32.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- toUInt32.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- toUInt32.insert("QScriptValue(engine, true)", 1);
- toUInt32.insert("QScriptValue(engine, false)", 0);
- toUInt32.insert("QScriptValue(engine, int(122))", 122);
- toUInt32.insert("QScriptValue(engine, uint(124))", 124);
- toUInt32.insert("QScriptValue(engine, 0)", 0);
- toUInt32.insert("QScriptValue(engine, 0.0)", 0);
- toUInt32.insert("QScriptValue(engine, 123.0)", 123);
- toUInt32.insert("QScriptValue(engine, 6.37e-8)", 0);
- toUInt32.insert("QScriptValue(engine, -6.37e-8)", 0);
- toUInt32.insert("QScriptValue(engine, 0x43211234)", 1126240820);
- toUInt32.insert("QScriptValue(engine, 0x10000)", 65536);
- toUInt32.insert("QScriptValue(engine, 0x10001)", 65537);
- toUInt32.insert("QScriptValue(engine, qSNaN())", 0);
- toUInt32.insert("QScriptValue(engine, qQNaN())", 0);
- toUInt32.insert("QScriptValue(engine, qInf())", 0);
- toUInt32.insert("QScriptValue(engine, -qInf())", 0);
- toUInt32.insert("QScriptValue(engine, \"NaN\")", 0);
- toUInt32.insert("QScriptValue(engine, \"Infinity\")", 0);
- toUInt32.insert("QScriptValue(engine, \"-Infinity\")", 0);
- toUInt32.insert("QScriptValue(engine, \"ciao\")", 0);
- toUInt32.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- toUInt32.insert("QScriptValue(engine, QString(\"\"))", 0);
- toUInt32.insert("QScriptValue(engine, QString())", 0);
- toUInt32.insert("QScriptValue(engine, QString(\"0\"))", 0);
- toUInt32.insert("QScriptValue(engine, QString(\"123\"))", 123);
- toUInt32.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- toUInt32.insert("engine->evaluate(\"[]\")", 0);
- toUInt32.insert("engine->evaluate(\"{}\")", 0);
- toUInt32.insert("engine->evaluate(\"Object.prototype\")", 0);
- toUInt32.insert("engine->evaluate(\"Date.prototype\")", 0);
- toUInt32.insert("engine->evaluate(\"Array.prototype\")", 0);
- toUInt32.insert("engine->evaluate(\"Function.prototype\")", 0);
- toUInt32.insert("engine->evaluate(\"Error.prototype\")", 0);
- toUInt32.insert("engine->evaluate(\"Object\")", 0);
- toUInt32.insert("engine->evaluate(\"Array\")", 0);
- toUInt32.insert("engine->evaluate(\"Number\")", 0);
- toUInt32.insert("engine->evaluate(\"Function\")", 0);
- toUInt32.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- toUInt32.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- toUInt32.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- toUInt32.insert("engine->evaluate(\"/foo/\")", 0);
- toUInt32.insert("engine->evaluate(\"new Object()\")", 0);
- toUInt32.insert("engine->evaluate(\"new Array()\")", 0);
- toUInt32.insert("engine->evaluate(\"new Error()\")", 0);
- toUInt32.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- toUInt32.insert("engine->evaluate(\"Undefined\")", 0);
- toUInt32.insert("engine->evaluate(\"Null\")", 0);
- toUInt32.insert("engine->evaluate(\"True\")", 0);
- toUInt32.insert("engine->evaluate(\"False\")", 0);
- toUInt32.insert("engine->evaluate(\"undefined\")", 0);
- toUInt32.insert("engine->evaluate(\"null\")", 0);
- toUInt32.insert("engine->evaluate(\"true\")", 1);
- toUInt32.insert("engine->evaluate(\"false\")", 0);
- toUInt32.insert("engine->evaluate(\"122\")", 122);
- toUInt32.insert("engine->evaluate(\"124\")", 124);
- toUInt32.insert("engine->evaluate(\"0\")", 0);
- toUInt32.insert("engine->evaluate(\"0.0\")", 0);
- toUInt32.insert("engine->evaluate(\"123.0\")", 123);
- toUInt32.insert("engine->evaluate(\"6.37e-8\")", 0);
- toUInt32.insert("engine->evaluate(\"-6.37e-8\")", 0);
- toUInt32.insert("engine->evaluate(\"0x43211234\")", 1126240820);
- toUInt32.insert("engine->evaluate(\"0x10000\")", 65536);
- toUInt32.insert("engine->evaluate(\"0x10001\")", 65537);
- toUInt32.insert("engine->evaluate(\"NaN\")", 0);
- toUInt32.insert("engine->evaluate(\"Infinity\")", 0);
- toUInt32.insert("engine->evaluate(\"-Infinity\")", 0);
- toUInt32.insert("engine->evaluate(\"'ciao'\")", 0);
- toUInt32.insert("engine->evaluate(\"''\")", 0);
- toUInt32.insert("engine->evaluate(\"'0'\")", 0);
- toUInt32.insert("engine->evaluate(\"'123'\")", 123);
- toUInt32.insert("engine->evaluate(\"'12.4'\")", 12);
- toUInt32.insert("engine->nullValue()", 0);
- toUInt32.insert("engine->undefinedValue()", 0);
- }
- 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();
-}
-
-void tst_QScriptValue::toUInt16_makeData(const char* expr)
-{
- static QHash<QString, quint16> toUInt16;
- if (toUInt16.isEmpty()) {
- toUInt16.insert("QScriptValue()", 0);
- toUInt16.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
- toUInt16.insert("QScriptValue(QScriptValue::NullValue)", 0);
- toUInt16.insert("QScriptValue(true)", 1);
- toUInt16.insert("QScriptValue(false)", 0);
- toUInt16.insert("QScriptValue(int(122))", 122);
- toUInt16.insert("QScriptValue(uint(124))", 124);
- toUInt16.insert("QScriptValue(0)", 0);
- toUInt16.insert("QScriptValue(0.0)", 0);
- toUInt16.insert("QScriptValue(123.0)", 123);
- toUInt16.insert("QScriptValue(6.37e-8)", 0);
- toUInt16.insert("QScriptValue(-6.37e-8)", 0);
- toUInt16.insert("QScriptValue(0x43211234)", 4660);
- toUInt16.insert("QScriptValue(0x10000)", 0);
- toUInt16.insert("QScriptValue(0x10001)", 1);
- toUInt16.insert("QScriptValue(qSNaN())", 0);
- toUInt16.insert("QScriptValue(qQNaN())", 0);
- toUInt16.insert("QScriptValue(qInf())", 0);
- toUInt16.insert("QScriptValue(-qInf())", 0);
- toUInt16.insert("QScriptValue(\"NaN\")", 0);
- toUInt16.insert("QScriptValue(\"Infinity\")", 0);
- toUInt16.insert("QScriptValue(\"-Infinity\")", 0);
- toUInt16.insert("QScriptValue(\"ciao\")", 0);
- toUInt16.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
- toUInt16.insert("QScriptValue(QString(\"\"))", 0);
- toUInt16.insert("QScriptValue(QString())", 0);
- toUInt16.insert("QScriptValue(QString(\"0\"))", 0);
- toUInt16.insert("QScriptValue(QString(\"123\"))", 123);
- toUInt16.insert("QScriptValue(QString(\"12.4\"))", 12);
- toUInt16.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
- toUInt16.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
- toUInt16.insert("QScriptValue(0, true)", 1);
- toUInt16.insert("QScriptValue(0, false)", 0);
- toUInt16.insert("QScriptValue(0, int(122))", 122);
- toUInt16.insert("QScriptValue(0, uint(124))", 124);
- toUInt16.insert("QScriptValue(0, 0)", 0);
- toUInt16.insert("QScriptValue(0, 0.0)", 0);
- toUInt16.insert("QScriptValue(0, 123.0)", 123);
- toUInt16.insert("QScriptValue(0, 6.37e-8)", 0);
- toUInt16.insert("QScriptValue(0, -6.37e-8)", 0);
- toUInt16.insert("QScriptValue(0, 0x43211234)", 4660);
- toUInt16.insert("QScriptValue(0, 0x10000)", 0);
- toUInt16.insert("QScriptValue(0, 0x10001)", 1);
- toUInt16.insert("QScriptValue(0, qSNaN())", 0);
- toUInt16.insert("QScriptValue(0, qQNaN())", 0);
- toUInt16.insert("QScriptValue(0, qInf())", 0);
- toUInt16.insert("QScriptValue(0, -qInf())", 0);
- toUInt16.insert("QScriptValue(0, \"NaN\")", 0);
- toUInt16.insert("QScriptValue(0, \"Infinity\")", 0);
- toUInt16.insert("QScriptValue(0, \"-Infinity\")", 0);
- toUInt16.insert("QScriptValue(0, \"ciao\")", 0);
- toUInt16.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
- toUInt16.insert("QScriptValue(0, QString(\"\"))", 0);
- toUInt16.insert("QScriptValue(0, QString())", 0);
- toUInt16.insert("QScriptValue(0, QString(\"0\"))", 0);
- toUInt16.insert("QScriptValue(0, QString(\"123\"))", 123);
- toUInt16.insert("QScriptValue(0, QString(\"12.3\"))", 12);
- toUInt16.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
- toUInt16.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
- toUInt16.insert("QScriptValue(engine, true)", 1);
- toUInt16.insert("QScriptValue(engine, false)", 0);
- toUInt16.insert("QScriptValue(engine, int(122))", 122);
- toUInt16.insert("QScriptValue(engine, uint(124))", 124);
- toUInt16.insert("QScriptValue(engine, 0)", 0);
- toUInt16.insert("QScriptValue(engine, 0.0)", 0);
- toUInt16.insert("QScriptValue(engine, 123.0)", 123);
- toUInt16.insert("QScriptValue(engine, 6.37e-8)", 0);
- toUInt16.insert("QScriptValue(engine, -6.37e-8)", 0);
- toUInt16.insert("QScriptValue(engine, 0x43211234)", 4660);
- toUInt16.insert("QScriptValue(engine, 0x10000)", 0);
- toUInt16.insert("QScriptValue(engine, 0x10001)", 1);
- toUInt16.insert("QScriptValue(engine, qSNaN())", 0);
- toUInt16.insert("QScriptValue(engine, qQNaN())", 0);
- toUInt16.insert("QScriptValue(engine, qInf())", 0);
- toUInt16.insert("QScriptValue(engine, -qInf())", 0);
- toUInt16.insert("QScriptValue(engine, \"NaN\")", 0);
- toUInt16.insert("QScriptValue(engine, \"Infinity\")", 0);
- toUInt16.insert("QScriptValue(engine, \"-Infinity\")", 0);
- toUInt16.insert("QScriptValue(engine, \"ciao\")", 0);
- toUInt16.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
- toUInt16.insert("QScriptValue(engine, QString(\"\"))", 0);
- toUInt16.insert("QScriptValue(engine, QString())", 0);
- toUInt16.insert("QScriptValue(engine, QString(\"0\"))", 0);
- toUInt16.insert("QScriptValue(engine, QString(\"123\"))", 123);
- toUInt16.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
- toUInt16.insert("engine->evaluate(\"[]\")", 0);
- toUInt16.insert("engine->evaluate(\"{}\")", 0);
- toUInt16.insert("engine->evaluate(\"Object.prototype\")", 0);
- toUInt16.insert("engine->evaluate(\"Date.prototype\")", 0);
- toUInt16.insert("engine->evaluate(\"Array.prototype\")", 0);
- toUInt16.insert("engine->evaluate(\"Function.prototype\")", 0);
- toUInt16.insert("engine->evaluate(\"Error.prototype\")", 0);
- toUInt16.insert("engine->evaluate(\"Object\")", 0);
- toUInt16.insert("engine->evaluate(\"Array\")", 0);
- toUInt16.insert("engine->evaluate(\"Number\")", 0);
- toUInt16.insert("engine->evaluate(\"Function\")", 0);
- toUInt16.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
- toUInt16.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
- toUInt16.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
- toUInt16.insert("engine->evaluate(\"/foo/\")", 0);
- toUInt16.insert("engine->evaluate(\"new Object()\")", 0);
- toUInt16.insert("engine->evaluate(\"new Array()\")", 0);
- toUInt16.insert("engine->evaluate(\"new Error()\")", 0);
- toUInt16.insert("engine->evaluate(\"a = new Object(); a.foo = 22; a.foo\")", 22);
- toUInt16.insert("engine->evaluate(\"Undefined\")", 0);
- toUInt16.insert("engine->evaluate(\"Null\")", 0);
- toUInt16.insert("engine->evaluate(\"True\")", 0);
- toUInt16.insert("engine->evaluate(\"False\")", 0);
- toUInt16.insert("engine->evaluate(\"undefined\")", 0);
- toUInt16.insert("engine->evaluate(\"null\")", 0);
- toUInt16.insert("engine->evaluate(\"true\")", 1);
- toUInt16.insert("engine->evaluate(\"false\")", 0);
- toUInt16.insert("engine->evaluate(\"122\")", 122);
- toUInt16.insert("engine->evaluate(\"124\")", 124);
- toUInt16.insert("engine->evaluate(\"0\")", 0);
- toUInt16.insert("engine->evaluate(\"0.0\")", 0);
- toUInt16.insert("engine->evaluate(\"123.0\")", 123);
- toUInt16.insert("engine->evaluate(\"6.37e-8\")", 0);
- toUInt16.insert("engine->evaluate(\"-6.37e-8\")", 0);
- toUInt16.insert("engine->evaluate(\"0x43211234\")", 4660);
- toUInt16.insert("engine->evaluate(\"0x10000\")", 0);
- toUInt16.insert("engine->evaluate(\"0x10001\")", 1);
- toUInt16.insert("engine->evaluate(\"NaN\")", 0);
- toUInt16.insert("engine->evaluate(\"Infinity\")", 0);
- toUInt16.insert("engine->evaluate(\"-Infinity\")", 0);
- toUInt16.insert("engine->evaluate(\"'ciao'\")", 0);
- toUInt16.insert("engine->evaluate(\"''\")", 0);
- toUInt16.insert("engine->evaluate(\"'0'\")", 0);
- toUInt16.insert("engine->evaluate(\"'123'\")", 123);
- toUInt16.insert("engine->evaluate(\"'12.4'\")", 12);
- toUInt16.insert("engine->nullValue()", 0);
- toUInt16.insert("engine->undefinedValue()", 0);
- }
- 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)
diff --git a/src/3rdparty/webkit/JavaScriptCore/qt/tests/tests.pri b/src/3rdparty/webkit/JavaScriptCore/qt/tests/tests.pri
deleted file mode 100644
index 5af3383..0000000
--- a/src/3rdparty/webkit/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/src/3rdparty/webkit/JavaScriptCore/qt/tests/tests.pro b/src/3rdparty/webkit/JavaScriptCore/qt/tests/tests.pro
deleted file mode 100644
index 7c3f590..0000000
--- a/src/3rdparty/webkit/JavaScriptCore/qt/tests/tests.pro
+++ /dev/null
@@ -1,4 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS = qscriptengine \
- qscriptvalue \
- qscriptstring