summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Kling <andreas.kling@nokia.com>2010-02-03 10:51:22 (GMT)
committerAndreas Kling <andreas.kling@nokia.com>2010-02-03 10:51:22 (GMT)
commitb6f24329294dd96298e1785506b7dc95432186b9 (patch)
tree02327aebe3e89f58837e463e80f109f627750d02
parent56b910a838e93d849ec260f4c3db9a716beecdc0 (diff)
parenta9ffa944f8599db0559e9d07509a3778f49bbc2a (diff)
downloadQt-b6f24329294dd96298e1785506b7dc95432186b9.zip
Qt-b6f24329294dd96298e1785506b7dc95432186b9.tar.gz
Qt-b6f24329294dd96298e1785506b7dc95432186b9.tar.bz2
Merge branch '4.6' of git@scm.dev.nokia.troll.no:qt/oslo-staging-1 into 4.6
-rwxr-xr-xbin/patch_capabilities.pl25
-rw-r--r--configure.exebin1178112 -> 1178112 bytes
-rw-r--r--dist/changes-4.6.238
-rw-r--r--doc/src/getting-started/known-issues.qdoc4
-rw-r--r--doc/src/platforms/platform-notes.qdoc2
-rw-r--r--mkspecs/common/symbian/symbian.conf1
-rw-r--r--qmake/generators/symbian/symmake.cpp40
-rw-r--r--src/corelib/io/qdebug.h2
-rw-r--r--src/corelib/io/qprocess_symbian.cpp41
-rw-r--r--src/corelib/kernel/qcoreapplication.cpp8
-rw-r--r--src/corelib/plugin/qlibrary.cpp1
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp8
-rw-r--r--src/gui/kernel/qcocoasharedwindowmethods_mac_p.h20
-rw-r--r--src/gui/kernel/qcocoaview_mac.mm9
-rw-r--r--src/gui/kernel/qt_cocoa_helpers_mac.mm2
-rw-r--r--src/gui/kernel/qwidget.cpp15
-rw-r--r--src/gui/kernel/qwidget_mac.mm19
-rw-r--r--src/gui/painting/qpaintengine_raster.cpp9
-rw-r--r--src/gui/painting/qwindowsurface_raster.cpp4
-rw-r--r--src/gui/styles/qs60style.cpp38
-rw-r--r--src/gui/text/qfontengine_s60.cpp68
-rw-r--r--src/gui/text/qfontengine_s60_p.h13
-rw-r--r--src/network/access/qhttpnetworkconnection.cpp8
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp27
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel_p.h2
-rw-r--r--src/s60installs/bwins/QtGuiu.def4
-rw-r--r--src/s60installs/eabi/QtGuiu.def4
-rw-r--r--src/s60installs/s60installs.pro4
-rw-r--r--src/s60installs/sqlite3.sisbin286192 -> 286452 bytes
-rw-r--r--tests/auto/qscriptvalue/qscriptvalue.pro4
-rw-r--r--tests/auto/qscriptvalue/testgen/data.txt116
-rwxr-xr-xtests/auto/qscriptvalue/testgen/gen.py219
-rw-r--r--tests/auto/qscriptvalue/testgen/main.cpp62
-rw-r--r--tests/auto/qscriptvalue/testgen/testgen.pro18
-rw-r--r--tests/auto/qscriptvalue/testgen/testgenerator.cpp688
-rw-r--r--tests/auto/qscriptvalue/testgen/testgenerator.h77
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.cpp158
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue.h410
-rw-r--r--tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp6369
-rw-r--r--tests/benchmarks/qscriptengine/qscriptengine.pro5
-rw-r--r--tests/benchmarks/qscriptengine/tst_qscriptengine.cpp5
-rw-r--r--tests/benchmarks/qstring/main.cpp6
-rw-r--r--tests/benchmarks/qstring/qstring.pro6
-rw-r--r--tests/benchmarks/qtext/main.cpp10
-rw-r--r--tests/benchmarks/qtext/qtext.pro9
-rw-r--r--tools/configure/configureapp.cpp2
-rw-r--r--util/s60pixelmetrics/pixel_metrics.cpp21
47 files changed, 8355 insertions, 246 deletions
diff --git a/bin/patch_capabilities.pl b/bin/patch_capabilities.pl
index 9daa13e..8afe776 100755
--- a/bin/patch_capabilities.pl
+++ b/bin/patch_capabilities.pl
@@ -108,6 +108,8 @@ if (@ARGV)
open (NEW_PKG, ">>".$tempPkgFileName);
open (PKG, "<".$pkgFileName);
+ my $manufacturerElseBlock = 0;
+
# Parse each line.
while (<PKG>)
{
@@ -133,7 +135,28 @@ if (@ARGV)
# from depended packages that are also patched and therefore have different UID.
if ($line =~ m/^\(0x[0-9|a-f|A-F]*\).*\{.*\}$/)
{
- $newLine = ""
+ $newLine = "\n"
+ }
+
+ # Remove manufacturer ifdef
+ if ($line =~ m/^.*\(MANUFACTURER\)\=\(.*\).*$/)
+ {
+ $newLine = "\n";
+ }
+
+ if ($line =~ m/^ELSEIF.*MANUFACTURER$/)
+ {
+ $manufacturerElseBlock = 1;
+ }
+
+ if ($manufacturerElseBlock eq 1)
+ {
+ $newLine = "\n";
+ }
+
+ if ($line =~ m/^ENDIF.*MANUFACTURER$/)
+ {
+ $manufacturerElseBlock = 0;
}
print NEW_PKG $newLine;
diff --git a/configure.exe b/configure.exe
index ed2b0b2..21fdcfa 100644
--- a/configure.exe
+++ b/configure.exe
Binary files differ
diff --git a/dist/changes-4.6.2 b/dist/changes-4.6.2
index d35f945..d768988 100644
--- a/dist/changes-4.6.2
+++ b/dist/changes-4.6.2
@@ -40,8 +40,8 @@ Optimizations
QtCore
------
- - foo
- * bar
+ - QXmlStreamWriter
+ * [QTBUG-6893] Fixed adding extra Byte Order Marks when writing to a xml file.
QtGui
-----
@@ -49,6 +49,9 @@ QtGui
- foo
* bar
+ * [QTBUG-7029] Fixed a crash when re-creating QApplication object due to a
+ dangling gesture manager pointer.
+
QtDBus
------
@@ -85,6 +88,12 @@ QtXml
- foo
* bar
+QtMultimedia
+------------
+
+ - QAudioInput
+ * [QTBUG-7044]: QAudioInput stopped working correctly after suspend()/resume() on linux.
+
Qt Plugins
----------
@@ -110,8 +119,11 @@ Qt for Unix (X11 and Mac OS X)
Qt for Linux/X11
----------------
+ * Fix a bug where QPixmap::serialNumber was not set on a transformed pixmap
+ in Qt/X11.
- -
+ * Fixed a crash when an input method tries to create a widget after the
+ application is destroyed.
Qt for Windows
--------------
@@ -121,7 +133,10 @@ Qt for Windows
Qt for Mac OS X
---------------
- -
+ - [QTBUG-7312]: Menubar and dock disappear after hiding a fullscreen widget on Cocoa.
+ - [QTBUG-7522]: Drawing fake buttons using QMacStyle+QStyleOptionViewItemV4 lead to crash.
+ - [QTBUG-7625]: Calling showFullScreen() then showNormal() on a widget results in top menu hiding.
+
Qt for Embedded Linux
---------------------
@@ -130,7 +145,13 @@ Qt for Embedded Linux
DirectFB
--------
-
+ * Fix a bug where QPixmap::serialNumber was not set on a transformed pixmap
+ in DirectFB.
+ * Reimplement QPixmapData::scroll for QDirectFBPixmapData which optimizes
+ QPixmap::scroll
+ * Fix a rendering issue for semi-transparent top level windows in DirectFB.
+ * Make it possible to fall back to the raster engine for stretch blits in
+ DirectFB using QT_NO_DIRECTFB_STRETCHBLIT
-
Qt for Windows CE
@@ -143,7 +164,12 @@ Qt for Windows CE
****************************************************************************
- Designer
- * foo
+ * [QTBUG-6965] Enabled editing seconds of QDateTime-type properties
+ * [QTBUG-6757] Fixed bug where selection handles would be affected by
+ a style sheet set on the main form.
+
+ - uic3
+ * [QTBUG-7404] Added option to preserve layout names set by Qt 3 Designer.
- qdoc3
* bar
diff --git a/doc/src/getting-started/known-issues.qdoc b/doc/src/getting-started/known-issues.qdoc
index 5503ab9..b73e15d 100644
--- a/doc/src/getting-started/known-issues.qdoc
+++ b/doc/src/getting-started/known-issues.qdoc
@@ -52,7 +52,7 @@
on the Qt website.
An overview of known issues may also be found at:
- \l{http://qt.gitorious.org/qt/pages/Qt460KnownIssues}
+ \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}
{Known Issues Wiki}.
\section1 Installation Issues
@@ -160,6 +160,6 @@
\list
\o Check known issues for Symbian at
- \l{http://qt.gitorious.org/qt/pages/Qt460KnownIssues} {Known Issues Wiki}.
+ \l{http://qt.gitorious.org/qt/pages/QtKnownIssues} {Known Issues Wiki}.
\endlist
*/
diff --git a/doc/src/platforms/platform-notes.qdoc b/doc/src/platforms/platform-notes.qdoc
index 6ea3df4..e08bf1a 100644
--- a/doc/src/platforms/platform-notes.qdoc
+++ b/doc/src/platforms/platform-notes.qdoc
@@ -490,7 +490,7 @@
\section1 Known Issues
Known issues can be found by visiting the
- \l{http://qt.gitorious.org/qt/pages/Qt460KnownIssues}{wiki page} with an
+ \l{http://qt.gitorious.org/qt/pages/QtKnownIssues}{wiki page} with an
up-to-date list of known issues, and the list of bugs can be found by
\l{http://bugreports.qt.nokia.com/browse/QTBUG/component/19171}{browsing} the
S60 component in Qt's public task tracker, located at
diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf
index a2933e9..b1ef354 100644
--- a/mkspecs/common/symbian/symbian.conf
+++ b/mkspecs/common/symbian/symbian.conf
@@ -30,6 +30,7 @@ QMAKE_CXX = g++
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
QMAKE_CXXFLAGS.CW =
QMAKE_CXXFLAGS.ARMCC = --visibility_inlines_hidden
+QMAKE_CXXFLAGS.GCCE = -fvisibility-inlines-hidden
QMAKE_CXXFLAGS_DEPS = $$QMAKE_CFLAGS_DEPS
QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp
index 20e2d0e..a23ec60 100644
--- a/qmake/generators/symbian/symmake.cpp
+++ b/qmake/generators/symbian/symmake.cpp
@@ -94,6 +94,11 @@
#define PRINT_FILE_CREATE_ERROR(filename) fprintf(stderr, "Error: Could not create '%s'\n", qPrintable(filename));
+#define MANUFACTURER_NOTE_FILE "manufacturer_note.txt"
+#define DEFAULT_MANUFACTURER_NOTE \
+ "The package is not supported for devices from this manufacturer. Please try the selfsigned " \
+ "version of the package instead."
+
QString SymbianMakefileGenerator::fixPathForMmp(const QString& origPath, const QDir& parentDir)
{
static QString epocRootStr;
@@ -354,6 +359,17 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile, Deployme
t << endl;
}
+ // Begin Manufacturer block
+ if (!project->values("DEPLOYMENT.manufacturers").isEmpty()) {
+ QString manufacturerStr("IF ");
+ foreach(QString manufacturer, project->values("DEPLOYMENT.manufacturers")) {
+ manufacturerStr.append(QString("(MANUFACTURER)=(%1) OR \n ").arg(manufacturer));
+ }
+ // Remove the final OR
+ manufacturerStr.chop(8);
+ t << manufacturerStr << endl;
+ }
+
// Install paths on the phone *** should be dynamic at some point
QString installPathBin = "!:\\sys\\bin";
QString installPathResource = "!:\\resource\\apps";
@@ -428,6 +444,30 @@ void SymbianMakefileGenerator::generatePkgFile(const QString &iconFile, Deployme
t << endl;
}
}
+
+ // Close Manufacturer block
+ if (!project->values("DEPLOYMENT.manufacturers").isEmpty()) {
+ QString manufacturerFailNoteFile;
+ if (project->values("DEPLOYMENT.manufacturers.fail_note").isEmpty()) {
+ manufacturerFailNoteFile = QString("%1_" MANUFACTURER_NOTE_FILE).arg(uid3);
+ QFile ft(manufacturerFailNoteFile);
+ if (ft.open(QIODevice::WriteOnly)) {
+ generatedFiles << ft.fileName();
+ QTextStream t2(&ft);
+
+ t2 << QString(DEFAULT_MANUFACTURER_NOTE) << endl;
+ } else {
+ PRINT_FILE_CREATE_ERROR(manufacturerFailNoteFile)
+ }
+ } else {
+ manufacturerFailNoteFile = project->values("DEPLOYMENT.manufacturers.fail_note").join("");
+ }
+
+ t << "ELSEIF NOT(0) ; MANUFACTURER" << endl
+ << "\"" << fileInfo(manufacturerFailNoteFile).absoluteFilePath() << "\""
+ << " - \"\", FILETEXT, TEXTEXIT" << endl
+ << "ENDIF ; MANUFACTURER" << endl;
+ }
}
bool SymbianMakefileGenerator::containsStartWithItem(const QChar &c, const QStringList& src)
diff --git a/src/corelib/io/qdebug.h b/src/corelib/io/qdebug.h
index 1c68716..bc68599 100644
--- a/src/corelib/io/qdebug.h
+++ b/src/corelib/io/qdebug.h
@@ -83,7 +83,7 @@ public:
if(stream->message_output) {
QT_TRY {
qt_message_output(stream->type, stream->buffer.toLocal8Bit().data());
- } QT_CATCH(std::bad_alloc) { /* We're out of memory - give up. */ }
+ } QT_CATCH(std::bad_alloc&) { /* We're out of memory - give up. */ }
}
delete stream;
}
diff --git a/src/corelib/io/qprocess_symbian.cpp b/src/corelib/io/qprocess_symbian.cpp
index ddced73..75cde51 100644
--- a/src/corelib/io/qprocess_symbian.cpp
+++ b/src/corelib/io/qprocess_symbian.cpp
@@ -919,34 +919,41 @@ bool QProcessPrivate::waitForFinished(int msecs)
Q_Q(QProcess);
QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished(%d)", msecs);
- TRequestStatus timerStatus = 0;
- TRequestStatus logonStatus = 0;
+ TRequestStatus timerStatus = KErrNone;
+ TRequestStatus logonStatus = KErrNone;
bool timeoutOccurred = false;
// Logon to process to observe its death
if (qt_rprocess_running(symbianProcess)) {
symbianProcess->Logon(logonStatus);
- // Create timer
- RTimer timer;
- timer.CreateLocal();
- TTimeIntervalMicroSeconds32 interval(msecs*1000);
- timer.After(timerStatus, interval);
+ if (msecs < 0) {
+ // If timeout is negative, there is no timeout
+ QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Waiting (just logon)...");
+ User::WaitForRequest(logonStatus);
+ QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Wait completed");
+ } else {
+ // Create timer
+ RTimer timer;
+ timer.CreateLocal();
+ TTimeIntervalMicroSeconds32 interval(msecs*1000);
+ timer.After(timerStatus, interval);
- QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Waiting...");
- User::WaitForRequest(logonStatus, timerStatus);
- QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Wait completed");
+ QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Waiting (logon + timer)...");
+ User::WaitForRequest(logonStatus, timerStatus);
+ QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished() - Wait completed");
- if (timerStatus == KErrNone)
- timeoutOccurred = true;
+ if (timerStatus == KErrNone)
+ timeoutOccurred = true;
- timer.Cancel();
- timer.Close();
+ timer.Cancel();
+ timer.Close();
- symbianProcess->LogonCancel(logonStatus);
+ symbianProcess->LogonCancel(logonStatus);
- // Eat cancel request completion so that it won't mess up main thread scheduling later
- User::WaitForRequest(logonStatus, timerStatus);
+ // Eat cancel request completion so that it won't mess up main thread scheduling later
+ User::WaitForRequest(logonStatus, timerStatus);
+ }
} else {
QPROCESS_DEBUG_PRINT("QProcessPrivate::waitForFinished(), qt_rprocess_running returned false");
}
diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
index 005dedc..e3137f0 100644
--- a/src/corelib/kernel/qcoreapplication.cpp
+++ b/src/corelib/kernel/qcoreapplication.cpp
@@ -2267,6 +2267,10 @@ QStringList QCoreApplication::libraryPaths()
\a paths. All existing paths will be deleted and the path list
will consist of the paths given in \a paths.
+ In Symbian this function is only useful for setting paths for
+ finding Qt extension plugin stubs, since the OS can only
+ load libraries from the \c{/sys/bin} directory.
+
\sa libraryPaths(), addLibraryPath(), removeLibraryPath(), QLibrary
*/
void QCoreApplication::setLibraryPaths(const QStringList &paths)
@@ -2290,6 +2294,10 @@ void QCoreApplication::setLibraryPaths(const QStringList &paths)
is \c INSTALL/plugins, where \c INSTALL is the directory where Qt was
installed.
+ In Symbian this function is only useful for adding paths for
+ finding Qt extension plugin stubs, since the OS can only
+ load libraries from the \c{/sys/bin} directory.
+
\sa removeLibraryPath(), libraryPaths(), setLibraryPaths()
*/
void QCoreApplication::addLibraryPath(const QString &path)
diff --git a/src/corelib/plugin/qlibrary.cpp b/src/corelib/plugin/qlibrary.cpp
index 7112043..f2c2384 100644
--- a/src/corelib/plugin/qlibrary.cpp
+++ b/src/corelib/plugin/qlibrary.cpp
@@ -539,6 +539,7 @@ bool QLibraryPrivate::loadPlugin()
\row \i AIX \i \c .a
\row \i HP-UX \i \c .sl, \c .so (HP-UXi)
\row \i Mac OS X \i \c .dylib, \c .bundle, \c .so
+ \row \i Symbian \i \c .dll
\endtable
Trailing versioning numbers on Unix are ignored.
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index 793bcde..e5ab300 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -101,11 +101,7 @@ QCoeFepInputContext::~QCoeFepInputContext()
void QCoeFepInputContext::reset()
{
- commitTemporaryPreeditString();
-
- CCoeFep* fep = CCoeEnv::Static()->Fep();
- if (fep)
- fep->CancelTransaction();
+ commitCurrentString(false);
}
void QCoeFepInputContext::ReportAknEdStateEvent(MAknEdStateObserver::EAknEdwinStateEvent aEventType)
@@ -290,7 +286,6 @@ void QCoeFepInputContext::commitTemporaryPreeditString()
return;
commitCurrentString(false);
- m_hasTempPreeditString = false;
}
void QCoeFepInputContext::mouseHandler( int x, QMouseEvent *event)
@@ -765,6 +760,7 @@ void QCoeFepInputContext::commitCurrentString(bool triggeredBySymbian)
m_preeditString.clear();
sendEvent(event);
+ m_hasTempPreeditString = false;
m_longPress = 0;
if (!triggeredBySymbian) {
diff --git a/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h b/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
index 7829a4e..1a265d0 100644
--- a/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
+++ b/src/gui/kernel/qcocoasharedwindowmethods_mac_p.h
@@ -51,9 +51,6 @@
NSPanel, while QCocoaWindow needs to inherit NSWindow rather than NSPanel).
****************************************************************************/
-#include <private/qapplication_p.h>
-#include <private/qbackingstore_p.h>
-
QT_BEGIN_NAMESPACE
extern Qt::MouseButton cocoaButton2QtButton(NSInteger buttonNum); // qcocoaview.mm
extern QPointer<QWidget> qt_button_down; //qapplication_mac.cpp
@@ -188,20 +185,3 @@ QT_END_NAMESPACE
return [super frameViewClassForStyleMask:styleMask];
}
-- (void)displayIfNeeded
-{
-
- QWidget *qwidget = [[QT_MANGLE_NAMESPACE(QCocoaWindowDelegate) sharedDelegate] qt_qwidgetForWindow:self];
- if (qwidget == 0) {
- [super displayIfNeeded];
- return;
- }
-
- if (QApplicationPrivate::graphicsSystem() != 0) {
- if (QWidgetBackingStore *bs = qt_widget_private(qwidget)->maybeBackingStore())
- bs->sync(qwidget, qwidget->rect());
- }
- [super displayIfNeeded];
-}
-
-
diff --git a/src/gui/kernel/qcocoaview_mac.mm b/src/gui/kernel/qcocoaview_mac.mm
index 2c35be2..d255604 100644
--- a/src/gui/kernel/qcocoaview_mac.mm
+++ b/src/gui/kernel/qcocoaview_mac.mm
@@ -520,11 +520,10 @@ extern "C" {
- (void)drawRect:(NSRect)aRect
{
if (QApplicationPrivate::graphicsSystem() != 0) {
- if (QWidgetBackingStore *bs = qwidgetprivate->maybeBackingStore()) {
- // Drawing is handled on the window level
- // See qcocoasharedwindowmethods_mac_p.
- return;
- }
+ if (QWidgetBackingStore *bs = qwidgetprivate->maybeBackingStore())
+ bs->markDirty(qwidget->rect(), qwidget);
+ qwidgetprivate->syncBackingStore(qwidget->rect());
+ return;
}
CGContextRef cg = (CGContextRef)[[NSGraphicsContext currentContext] graphicsPort];
qwidgetprivate->hd = cg;
diff --git a/src/gui/kernel/qt_cocoa_helpers_mac.mm b/src/gui/kernel/qt_cocoa_helpers_mac.mm
index 65c04e5..e06a810 100644
--- a/src/gui/kernel/qt_cocoa_helpers_mac.mm
+++ b/src/gui/kernel/qt_cocoa_helpers_mac.mm
@@ -1162,7 +1162,7 @@ CGContextRef qt_mac_graphicsContextFor(QWidget *widget)
CGrafPtr port = GetWindowPort(qt_mac_window_for(widget));
QDBeginCGContext(port, &context);
#else
- CGContextRef context = reinterpret_cast<CGContextRef>([[qt_mac_window_for(widget) graphicsContext] graphicsPort]);
+ CGContextRef context = (CGContextRef)[[NSGraphicsContext graphicsContextWithWindow:qt_mac_window_for(widget)] graphicsPort];
#endif
return context;
}
diff --git a/src/gui/kernel/qwidget.cpp b/src/gui/kernel/qwidget.cpp
index 78a25ac..ffad38b 100644
--- a/src/gui/kernel/qwidget.cpp
+++ b/src/gui/kernel/qwidget.cpp
@@ -1660,13 +1660,7 @@ void QWidgetPrivate::syncBackingStore()
repaint_sys(dirty);
dirty = QRegion();
} else if (QWidgetBackingStore *bs = maybeBackingStore()) {
-#ifdef QT_MAC_USE_COCOA
- Q_UNUSED(bs);
- void qt_mac_set_needs_display(QWidget *, QRegion);
- qt_mac_set_needs_display(q_func(), QRegion());
-#else
bs->sync();
-#endif
}
}
@@ -1674,15 +1668,8 @@ void QWidgetPrivate::syncBackingStore(const QRegion &region)
{
if (paintOnScreen())
repaint_sys(region);
- else if (QWidgetBackingStore *bs = maybeBackingStore()) {
-#ifdef QT_MAC_USE_COCOA
- Q_UNUSED(bs);
- void qt_mac_set_needs_display(QWidget *, QRegion);
- qt_mac_set_needs_display(q_func(), region);
-#else
+ else if (QWidgetBackingStore *bs = maybeBackingStore())
bs->sync(q_func(), region);
-#endif
- }
}
void QWidgetPrivate::setUpdatesEnabled_helper(bool enable)
diff --git a/src/gui/kernel/qwidget_mac.mm b/src/gui/kernel/qwidget_mac.mm
index b5888b4..78c1562 100644
--- a/src/gui/kernel/qwidget_mac.mm
+++ b/src/gui/kernel/qwidget_mac.mm
@@ -565,25 +565,6 @@ inline static void qt_mac_set_window_group_to_popup(OSWindowRef window)
}
#endif
-#ifdef QT_MAC_USE_COCOA
-void qt_mac_set_needs_display(QWidget *widget, QRegion region)
-{
- NSView *theNSView = qt_mac_nativeview_for(widget);
- if (region.isNull()) {
- [theNSView setNeedsDisplay:YES];
- return;
- }
-
- QVector<QRect> rects = region.rects();
- for (int i = 0; i<rects.count(); ++i) {
- const QRect &rect = rects.at(i);
- NSRect nsrect = NSMakeRect(rect.x(), rect.y(), rect.width(), rect.height());
- [theNSView setNeedsDisplayInRect:nsrect];
- }
-
-}
-#endif
-
inline static bool updateRedirectedToGraphicsProxyWidget(QWidget *widget, const QRect &rect)
{
if (!widget)
diff --git a/src/gui/painting/qpaintengine_raster.cpp b/src/gui/painting/qpaintengine_raster.cpp
index 3f2322e..bc56ed0 100644
--- a/src/gui/painting/qpaintengine_raster.cpp
+++ b/src/gui/painting/qpaintengine_raster.cpp
@@ -3081,6 +3081,8 @@ void QRasterPaintEngine::drawGlyphsS60(const QPointF &p, const QTextItemInt &ti)
QVarLengthArray<glyph_t> glyphs;
QTransform matrix = s->matrix;
matrix.translate(p.x(), p.y());
+ if (matrix.type() == QTransform::TxScale)
+ fe->setFontScale(matrix.m11());
ti.fontEngine->getGlyphPositions(ti.glyphs, matrix, ti.flags, glyphs, positions);
const QFixed aliasDelta = QFixed::fromReal(aliasedCoordinateDelta);
@@ -3097,6 +3099,9 @@ void QRasterPaintEngine::drawGlyphsS60(const QPointF &p, const QTextItemInt &ti)
alphaPenBlt(glyphBitmapBytes, glyphBitmapSize.iWidth, 8, x, y, glyphBitmapSize.iWidth, glyphBitmapSize.iHeight);
}
+ if (matrix.type() == QTransform::TxScale)
+ fe->setFontScale(1.0);
+
return;
}
#endif // Q_OS_SYMBIAN && QT_NO_FREETYPE
@@ -3269,7 +3274,9 @@ void QRasterPaintEngine::drawTextItem(const QPointF &p, const QTextItem &textIte
}
#elif defined (Q_OS_SYMBIAN) && defined(QT_NO_FREETYPE) // Q_WS_WIN || Q_WS_MAC
- if (s->matrix.type() <= QTransform::TxTranslate) {
+ if (s->matrix.type() <= QTransform::TxTranslate
+ || (s->matrix.type() == QTransform::TxScale
+ && (qFuzzyCompare(s->matrix.m11(), s->matrix.m22())))) {
drawGlyphsS60(p, ti);
return;
}
diff --git a/src/gui/painting/qwindowsurface_raster.cpp b/src/gui/painting/qwindowsurface_raster.cpp
index eee6bef..a0d2b9b 100644
--- a/src/gui/painting/qwindowsurface_raster.cpp
+++ b/src/gui/painting/qwindowsurface_raster.cpp
@@ -295,8 +295,10 @@ void QRasterWindowSurface::flush(QWidget *widget, const QRegion &rgn, const QPoi
CGContextRestoreGState(context);
#ifndef QT_MAC_USE_COCOA
QDEndCGContext(port, &context);
+#else
+ CGContextFlush(context);
+#endif
#endif
-#endif // Q_WS_MAC
#ifdef Q_OS_SYMBIAN
Q_UNUSED(widget);
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp
index 9b99161..fc435e8 100644
--- a/src/gui/styles/qs60style.cpp
+++ b/src/gui/styles/qs60style.cpp
@@ -92,10 +92,10 @@ static const qreal goldenRatio = 1.618;
const layoutHeader QS60StylePrivate::m_layoutHeaders[] = {
// *** generated layout data ***
-{240,320,1,15,"QVGA Landscape"},
-{320,240,1,15,"QVGA Portrait"},
-{360,640,1,15,"NHD Landscape"},
-{640,360,1,15,"NHD Portrait"},
+{240,320,1,16,"QVGA Landscape"},
+{320,240,1,16,"QVGA Portrait"},
+{360,640,1,16,"NHD Landscape"},
+{640,360,1,16,"NHD Portrait"},
{352,800,1,12,"E90 Landscape"}
// *** End of generated data ***
};
@@ -104,10 +104,10 @@ const int QS60StylePrivate::m_numberOfLayouts =
const short QS60StylePrivate::data[][MAX_PIXELMETRICS] = {
// *** generated pixel metrics ***
-{5,0,-909,0,0,2,0,0,-1,7,12,19,13,13,6,200,-909,-909,-909,20,13,2,0,0,21,7,18,-909,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,3,3,4,9,13,-909,5,51,11,5,0,3,3,6,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1},
-{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,-909,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,4,4,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1},
-{7,0,-909,0,0,2,0,0,-1,25,69,28,19,19,9,258,-909,-909,-909,23,19,26,0,0,32,25,72,-909,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,5,5,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1},
-{7,0,-909,0,0,2,0,0,-1,25,68,28,19,19,9,258,-909,-909,-909,31,19,6,0,0,32,25,60,-909,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,5,5,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1},
+{5,0,-909,0,0,2,0,0,-1,7,12,19,13,13,6,200,-909,-909,-909,20,13,2,0,0,21,7,18,-909,3,3,1,-909,-909,0,1,0,0,12,20,15,15,18,18,1,115,18,0,-909,-909,-909,-909,0,0,16,2,-909,0,0,-909,16,-909,-909,-909,-909,32,18,55,24,55,4,4,4,9,13,-909,5,51,11,5,0,3,3,6,8,3,3,-909,2,-909,-909,-909,-909,5,5,3,1},
+{5,0,-909,0,0,1,0,0,-1,8,14,22,15,15,7,164,-909,-909,-909,19,15,2,0,0,21,8,27,-909,4,4,1,-909,-909,0,7,6,0,13,23,17,17,21,21,7,115,21,0,-909,-909,-909,-909,0,0,15,1,-909,0,0,-909,15,-909,-909,-909,-909,32,21,65,27,65,3,3,5,10,15,-909,5,58,13,5,0,4,4,7,9,4,4,-909,2,-909,-909,-909,-909,6,6,3,1},
+{7,0,-909,0,0,2,0,0,-1,25,69,28,19,19,9,258,-909,-909,-909,23,19,26,0,0,32,25,72,-909,5,5,2,-909,-909,0,7,21,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,25,2,-909,0,0,-909,25,-909,-909,-909,-909,87,27,77,35,77,13,13,6,8,19,-909,7,74,19,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1},
+{7,0,-909,0,0,2,0,0,-1,25,68,28,19,19,9,258,-909,-909,-909,31,19,6,0,0,32,25,60,-909,5,5,2,-909,-909,0,7,32,0,17,29,22,22,27,27,7,173,29,0,-909,-909,-909,-909,0,0,26,2,-909,0,0,-909,26,-909,-909,-909,-909,87,27,96,35,96,12,12,6,8,19,-909,7,74,22,7,0,5,5,8,12,5,5,-909,3,-909,-909,-909,-909,7,7,3,1},
{7,0,-909,0,0,2,0,0,-1,10,20,27,18,18,9,301,-909,-909,-909,29,18,5,0,0,35,7,32,-909,5,5,2,-909,-909,0,2,8,0,16,28,21,21,26,26,2,170,26,0,-909,-909,-909,-909,0,0,21,6,-909,0,0,-909,-909,-909,-909,-909,-909,54,26,265,34,265,5,5,6,3,18,-909,7,72,19,7,0,5,6,8,11,6,5,-909,2,-909,-909,-909,-909,5,5,3,1}
// *** End of generated data ***
};
@@ -2400,21 +2400,13 @@ QSize QS60Style::sizeFromContents(ContentsType ct, const QStyleOption *opt,
break;
#ifndef QT_NO_COMBOBOX
case CT_ComboBox:
- if (const QStyleOptionComboBox *cmb = qstyleoption_cast<const QStyleOptionComboBox *>(opt)) {
- const int frameWidth = cmb->frame ? pixelMetric(PM_ComboBoxFrameWidth, opt, widget) * 2 : 0;
- const int textMargins = 2*(pixelMetric(PM_FocusFrameHMargin) + 1);
- const int smallestExtraWidth = 23;
- // QItemDelegate::sizeHint expands the textMargins two times, thus the 2*textMargins...
- const int extra =
- qMax(smallestExtraWidth, 2*textMargins + pixelMetric(PM_ScrollBarExtent, opt, widget));
- sz = QSize(sz.width() + frameWidth + extra, sz.height() + frameWidth);
- int maxScreenWidth = QApplication::desktop()->availableGeometry().size().width();
- if (sz.width() > maxScreenWidth) {
- maxScreenWidth = maxScreenWidth - (extra + frameWidth);
- sz.setWidth(maxScreenWidth);
- }
- }
- break;
+ // Fixing Ui design issues with too wide QComboBoxes and greedy SizeHints
+ // Make sure, that the combobox says within the screen.
+ const QSize desktopContentSize = QApplication::desktop()->availableGeometry().size()
+ -QSize(pixelMetric(PM_LayoutLeftMargin) + pixelMetric(PM_LayoutRightMargin), 0);
+ sz = QCommonStyle::sizeFromContents(ct, opt, csz, widget).
+ boundedTo(desktopContentSize);
+ break;
#endif
default:
sz = QCommonStyle::sizeFromContents( ct, opt, csz, widget);
diff --git a/src/gui/text/qfontengine_s60.cpp b/src/gui/text/qfontengine_s60.cpp
index 4625667..9dd4af7 100644
--- a/src/gui/text/qfontengine_s60.cpp
+++ b/src/gui/text/qfontengine_s60.cpp
@@ -129,26 +129,62 @@ static inline unsigned int getChar(const QChar *str, int &i, const int len)
return uc;
}
+CFont *QFontEngineS60::fontWithSize(qreal size) const
+{
+ CFont *result = 0;
+ TFontSpec fontSpec(qt_QString2TPtrC(QFontEngine::fontDef.family), TInt(size));
+ fontSpec.iFontStyle.SetBitmapType(EAntiAliasedGlyphBitmap);
+ fontSpec.iFontStyle.SetPosture(QFontEngine::fontDef.style == QFont::StyleNormal?EPostureUpright:EPostureItalic);
+ fontSpec.iFontStyle.SetStrokeWeight(QFontEngine::fontDef.weight > QFont::Normal?EStrokeWeightBold:EStrokeWeightNormal);
+ const TInt errorCode = S60->screenDevice()->GetNearestFontToDesignHeightInPixels(result, fontSpec);
+ Q_ASSERT(result && (errorCode == 0));
+ return result;
+}
+
+void QFontEngineS60::setFontScale(qreal scale)
+{
+ if (qFuzzyCompare(scale, qreal(1))) {
+ if (!m_originalFont)
+ m_originalFont = fontWithSize(m_originalFontSizeInPixels);
+ m_activeFont = m_originalFont;
+ } else {
+ const qreal scaledFontSizeInPixels = m_originalFontSizeInPixels * scale;
+ if (!m_scaledFont ||
+ (TInt(scaledFontSizeInPixels) != TInt(m_scaledFontSizeInPixels))) {
+ releaseFont(m_scaledFont);
+ m_scaledFontSizeInPixels = scaledFontSizeInPixels;
+ m_scaledFont = fontWithSize(m_scaledFontSizeInPixels);
+ }
+ m_activeFont = m_scaledFont;
+ }
+}
+
+void QFontEngineS60::releaseFont(CFont *&font)
+{
+ if (font) {
+ S60->screenDevice()->ReleaseFont(font);
+ font = 0;
+ }
+}
+
QFontEngineS60::QFontEngineS60(const QFontDef &request, const QFontEngineS60Extensions *extensions)
: m_extensions(extensions)
+ , m_originalFont(0)
+ , m_originalFontSizeInPixels((request.pixelSize >= 0)?
+ request.pixelSize:pointsToPixels(request.pointSize))
+ , m_scaledFont(0)
+ , m_scaledFontSizeInPixels(0)
+ , m_activeFont(0)
{
QFontEngine::fontDef = request;
- m_fontSizeInPixels = (request.pixelSize >= 0)?
- request.pixelSize:pointsToPixels(request.pointSize);
-
- TFontSpec fontSpec(qt_QString2TPtrC(request.family), m_fontSizeInPixels);
- fontSpec.iFontStyle.SetBitmapType(EAntiAliasedGlyphBitmap);
- fontSpec.iFontStyle.SetPosture(request.style == QFont::StyleNormal?EPostureUpright:EPostureItalic);
- fontSpec.iFontStyle.SetStrokeWeight(request.weight > QFont::Normal?EStrokeWeightBold:EStrokeWeightNormal);
- const TInt errorCode = S60->screenDevice()->GetNearestFontToDesignHeightInPixels(m_font, fontSpec);
- Q_ASSERT(errorCode == 0);
-
+ setFontScale(1.0);
cache_cost = sizeof(QFontEngineS60);
}
QFontEngineS60::~QFontEngineS60()
{
- S60->screenDevice()->ReleaseFont(m_font);
+ releaseFont(m_originalFont);
+ releaseFont(m_scaledFont);
}
bool QFontEngineS60::stringToCMap(const QChar *characters, int len, QGlyphLayout *glyphs, int *nglyphs, QTextEngine::ShaperFlags flags) const
@@ -251,12 +287,12 @@ glyph_metrics_t QFontEngineS60::boundingBox(glyph_t glyph)
QFixed QFontEngineS60::ascent() const
{
- return m_font->FontMaxAscent();
+ return m_originalFont->FontMaxAscent();
}
QFixed QFontEngineS60::descent() const
{
- return m_font->FontMaxDescent();
+ return m_originalFont->FontMaxDescent();
}
QFixed QFontEngineS60::leading() const
@@ -266,7 +302,7 @@ QFixed QFontEngineS60::leading() const
qreal QFontEngineS60::maxCharWidth() const
{
- return m_font->MaxCharWidthInPixels();
+ return m_originalFont->MaxCharWidthInPixels();
}
const char *QFontEngineS60::name() const
@@ -302,11 +338,11 @@ void QFontEngineS60::getCharacterData(glyph_t glyph, TOpenFontCharMetrics& metri
const TUint specialCode = (TUint)glyph | 0x80000000;
const CFont::TCharacterDataAvailability availability =
- m_font->GetCharacterData(specialCode, metrics, bitmap, bitmapSize);
+ m_activeFont->GetCharacterData(specialCode, metrics, bitmap, bitmapSize);
const glyph_t fallbackGlyph = '?';
if (availability != CFont::EAllCharacterData) {
const CFont::TCharacterDataAvailability fallbackAvailability =
- m_font->GetCharacterData(fallbackGlyph, metrics, bitmap, bitmapSize);
+ m_activeFont->GetCharacterData(fallbackGlyph, metrics, bitmap, bitmapSize);
Q_ASSERT(fallbackAvailability == CFont::EAllCharacterData);
}
}
diff --git a/src/gui/text/qfontengine_s60_p.h b/src/gui/text/qfontengine_s60_p.h
index ff819e2..78f8a9a 100644
--- a/src/gui/text/qfontengine_s60_p.h
+++ b/src/gui/text/qfontengine_s60_p.h
@@ -58,9 +58,6 @@
#include "qsize.h"
#include <OPENFONT.H>
-class CFbsBitmap;
-class CFbsBitmapDevice;
-class CFbsBitGc;
class CFont;
QT_BEGIN_NAMESPACE
@@ -120,15 +117,21 @@ public:
Type type() const;
void getCharacterData(glyph_t glyph, TOpenFontCharMetrics& metrics, const TUint8*& bitmap, TSize& bitmapSize) const;
+ void setFontScale(qreal scale);
private:
friend class QFontPrivate;
QFixed glyphAdvance(HB_Glyph glyph) const;
+ CFont *fontWithSize(qreal size) const;
+ static void releaseFont(CFont *&font);
- CFont* m_font;
const QFontEngineS60Extensions *m_extensions;
- qreal m_fontSizeInPixels;
+ CFont* m_originalFont;
+ const qreal m_originalFontSizeInPixels;
+ CFont* m_scaledFont;
+ qreal m_scaledFontSizeInPixels;
+ CFont* m_activeFont;
};
class QFontEngineMultiS60 : public QFontEngineMulti
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp
index fff7097..cc6a1c8 100644
--- a/src/network/access/qhttpnetworkconnection.cpp
+++ b/src/network/access/qhttpnetworkconnection.cpp
@@ -688,8 +688,14 @@ void QHttpNetworkConnectionPrivate::_q_startNextRequest()
if (channels[i].resendCurrent) {
channels[i].resendCurrent = false;
channels[i].state = QHttpNetworkConnectionChannel::IdleState;
- if (channels[i].reply)
+ if (channels[i].reply) {
+
+ // if this is not possible, error will be emitted and connection terminated
+ if (!channels[i].resetUploadData())
+ continue;
+
channels[i].sendRequest();
+ }
}
}
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index b80ae9a..70a301d 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -674,15 +674,8 @@ void QHttpNetworkConnectionChannel::handleStatus()
case 407: // proxy auth required
if (connection->d_func()->handleAuthenticateChallenge(socket, reply, (statusCode == 407), resend)) {
if (resend) {
- QNonContiguousByteDevice* uploadByteDevice = request.uploadByteDevice();
- if (uploadByteDevice) {
- if (uploadByteDevice->reset()) {
- written = 0;
- } else {
- connection->d_func()->emitReplyError(socket, reply, QNetworkReply::ContentReSendError);
- break;
- }
- }
+ if (!resetUploadData())
+ break;
reply->d_func()->eraseData();
@@ -712,6 +705,22 @@ void QHttpNetworkConnectionChannel::handleStatus()
}
}
+bool QHttpNetworkConnectionChannel::resetUploadData()
+{
+ QNonContiguousByteDevice* uploadByteDevice = request.uploadByteDevice();
+ if (!uploadByteDevice)
+ return true;
+
+ if (uploadByteDevice->reset()) {
+ written = 0;
+ return true;
+ } else {
+ connection->d_func()->emitReplyError(socket, reply, QNetworkReply::ContentReSendError);
+ return false;
+ }
+}
+
+
void QHttpNetworkConnectionChannel::pipelineInto(HttpMessagePair &pair)
{
// this is only called for simple GET
diff --git a/src/network/access/qhttpnetworkconnectionchannel_p.h b/src/network/access/qhttpnetworkconnectionchannel_p.h
index c30c236..75ab50d 100644
--- a/src/network/access/qhttpnetworkconnectionchannel_p.h
+++ b/src/network/access/qhttpnetworkconnectionchannel_p.h
@@ -151,6 +151,8 @@ public:
void allDone(); // reply header + body have been read
void handleStatus(); // called from allDone()
+ bool resetUploadData(); // return true if resetting worked or there is no upload data
+
void pipelineInto(HttpMessagePair &pair);
void requeueCurrentlyPipelinedRequests();
void detectPipeliningSupport();
diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def
index da65230..155e3e7 100644
--- a/src/s60installs/bwins/QtGuiu.def
+++ b/src/s60installs/bwins/QtGuiu.def
@@ -5527,7 +5527,7 @@ EXPORTS
?invalidateChildrenSceneTransform@QGraphicsItemPrivate@@QAEXXZ @ 5526 NONAME ; void QGraphicsItemPrivate::invalidateChildrenSceneTransform(void)
?invalidateDepthRecursively@QGraphicsItemPrivate@@QAEXXZ @ 5527 NONAME ; void QGraphicsItemPrivate::invalidateDepthRecursively(void)
?invalidateFilter@QSortFilterProxyModel@@IAEXXZ @ 5528 NONAME ; void QSortFilterProxyModel::invalidateFilter(void)
- ?invalidateGraphicsEffectsRecursively@QGraphicsItemPrivate@@QAEXXZ @ 5529 NONAME ; void QGraphicsItemPrivate::invalidateGraphicsEffectsRecursively(void)
+ ?invalidateGraphicsEffectsRecursively@QGraphicsItemPrivate@@QAEXXZ @ 5529 NONAME ABSENT ; void QGraphicsItemPrivate::invalidateGraphicsEffectsRecursively(void)
?invalidateGraphicsEffectsRecursively@QWidgetPrivate@@QAEXXZ @ 5530 NONAME ; void QWidgetPrivate::invalidateGraphicsEffectsRecursively(void)
?invalidateScene@QGraphicsView@@QAEXABVQRectF@@V?$QFlags@W4SceneLayer@QGraphicsScene@@@@@Z @ 5531 NONAME ; void QGraphicsView::invalidateScene(class QRectF const &, class QFlags<enum QGraphicsScene::SceneLayer>)
?invalidateSizeCache@QWidgetItemV2@@AAEXXZ @ 5532 NONAME ; void QWidgetItemV2::invalidateSizeCache(void)
@@ -9555,7 +9555,7 @@ EXPORTS
?setParent@QWidget@@QAEXPAV1@@Z @ 9554 NONAME ; void QWidget::setParent(class QWidget *)
?setParent@QWidget@@QAEXPAV1@V?$QFlags@W4WindowType@Qt@@@@@Z @ 9555 NONAME ; void QWidget::setParent(class QWidget *, class QFlags<enum Qt::WindowType>)
?setParentItem@QGraphicsItem@@QAEXPAV1@@Z @ 9556 NONAME ; void QGraphicsItem::setParentItem(class QGraphicsItem *)
- ?setParentItemHelper@QGraphicsItemPrivate@@QAEXPAVQGraphicsItem@@@Z @ 9557 NONAME ; void QGraphicsItemPrivate::setParentItemHelper(class QGraphicsItem *)
+ ?setParentItemHelper@QGraphicsItemPrivate@@QAEXPAVQGraphicsItem@@@Z @ 9557 NONAME ABSENT ; void QGraphicsItemPrivate::setParentItemHelper(class QGraphicsItem *)
?setParentLayoutItem@QGraphicsLayoutItem@@QAEXPAV1@@Z @ 9558 NONAME ; void QGraphicsLayoutItem::setParentLayoutItem(class QGraphicsLayoutItem *)
?setParent_sys@QWidgetPrivate@@QAEXPAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z @ 9559 NONAME ; void QWidgetPrivate::setParent_sys(class QWidget *, class QFlags<enum Qt::WindowType>)
?setPasswordCharacter@QLineControl@@QAEXABVQChar@@@Z @ 9560 NONAME ; void QLineControl::setPasswordCharacter(class QChar const &)
diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def
index 05f620c..a9a69aa 100644
--- a/src/s60installs/eabi/QtGuiu.def
+++ b/src/s60installs/eabi/QtGuiu.def
@@ -4671,7 +4671,7 @@ EXPORTS
_ZN20QGraphicsItemPrivate18setTransformHelperERK10QTransform @ 4670 NONAME
_ZN20QGraphicsItemPrivate18subFocusItemChangeEv @ 4671 NONAME
_ZN20QGraphicsItemPrivate18updateAncestorFlagEN13QGraphicsItem16GraphicsItemFlagENS_12AncestorFlagEbb @ 4672 NONAME
- _ZN20QGraphicsItemPrivate19setParentItemHelperEP13QGraphicsItem @ 4673 NONAME
+ _ZN20QGraphicsItemPrivate19setParentItemHelperEP13QGraphicsItem @ 4673 NONAME ABSENT
_ZN20QGraphicsItemPrivate20removeExtraItemCacheEv @ 4674 NONAME
_ZN20QGraphicsItemPrivate23appendGraphicsTransformEP18QGraphicsTransform @ 4675 NONAME
_ZN20QGraphicsItemPrivate25movableAncestorIsSelectedEPK13QGraphicsItem @ 4676 NONAME
@@ -11639,7 +11639,7 @@ EXPORTS
_ZN19QGraphicsBlurEffect4drawEP8QPainter @ 11638 NONAME
_ZN19QKeyEventTransition15setModifierMaskE6QFlagsIN2Qt16KeyboardModifierEE @ 11639 NONAME
_ZN20QGraphicsItemPrivate18siblingOrderChangeEv @ 11640 NONAME
- _ZN20QGraphicsItemPrivate36invalidateGraphicsEffectsRecursivelyEv @ 11641 NONAME
+ _ZN20QGraphicsItemPrivate36invalidateGraphicsEffectsRecursivelyEv @ 11641 NONAME ABSENT
_ZN21QMouseEventTransition14setHitTestPathERK12QPainterPath @ 11642 NONAME
_ZN21QMouseEventTransition15setModifierMaskE6QFlagsIN2Qt16KeyboardModifierEE @ 11643 NONAME
_ZN22QGraphicsOpacityEffect4drawEP8QPainter @ 11644 NONAME
diff --git a/src/s60installs/s60installs.pro b/src/s60installs/s60installs.pro
index aaecf6c..5318693 100644
--- a/src/s60installs/s60installs.pro
+++ b/src/s60installs/s60installs.pro
@@ -114,6 +114,10 @@ symbian: {
graphicssystems_plugins.sources += qvggraphicssystem.dll
}
+ contains(QT_CONFIG, multimedia) {
+ qtlibraries.sources += QtMultimedia.dll
+ }
+
BLD_INF_RULES.prj_exports += "qt.iby $$CORE_MW_LAYER_IBY_EXPORT_PATH(qt.iby)"
BLD_INF_RULES.prj_exports += "qtdemoapps.iby $$CORE_APP_LAYER_IBY_EXPORT_PATH(qtdemoapps.iby)"
}
diff --git a/src/s60installs/sqlite3.sis b/src/s60installs/sqlite3.sis
index 1785365..11e069e 100644
--- a/src/s60installs/sqlite3.sis
+++ b/src/s60installs/sqlite3.sis
Binary files differ
diff --git a/tests/auto/qscriptvalue/qscriptvalue.pro b/tests/auto/qscriptvalue/qscriptvalue.pro
index 9efde80..1588cc5 100644
--- a/tests/auto/qscriptvalue/qscriptvalue.pro
+++ b/tests/auto/qscriptvalue/qscriptvalue.pro
@@ -1,5 +1,7 @@
load(qttest_p4)
QT = core gui script
SOURCES += tst_qscriptvalue.cpp
+HEADERS += tst_qscriptvalue.h
-
+# Generated by testgen
+SOURCES += tst_qscriptvalue_generated.cpp
diff --git a/tests/auto/qscriptvalue/testgen/data.txt b/tests/auto/qscriptvalue/testgen/data.txt
new file mode 100644
index 0000000..8e7026e
--- /dev/null
+++ b/tests/auto/qscriptvalue/testgen/data.txt
@@ -0,0 +1,116 @@
+# Data set for QScriptValue autotest.
+
+# Each line is a c++ code that should return a QScriptValue object.
+# Lines that are empty or start with '#' will be ignored
+
+QScriptValue()
+
+#Unbound values
+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"))
+
+#Unbound values (bound to a null engine)
+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"))
+
+#Bound values
+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"))
+
+# evaluate
+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()")
diff --git a/tests/auto/qscriptvalue/testgen/gen.py b/tests/auto/qscriptvalue/testgen/gen.py
new file mode 100755
index 0000000..c14fe86
--- /dev/null
+++ b/tests/auto/qscriptvalue/testgen/gen.py
@@ -0,0 +1,219 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+#Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+## $QT_BEGIN_LICENSE:LGPL$
+## No Commercial Usage
+## This file contains pre-release code and may not be distributed.
+## You may use this file in accordance with the terms and conditions
+## contained in the Technology Preview License Agreement accompanying
+## this package.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 2.1 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 2.1 requirements
+## will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+##
+## In addition, as a special exception, Nokia gives you certain additional
+## rights. These rights are described in the Nokia Qt LGPL Exception
+## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+##
+## If you have questions regarding the use of this file, please contact
+## Nokia at qt-info@nokia.com.
+##
+##
+##
+##
+##
+##
+##
+##
+## $QT_END_LICENSE$
+
+from __future__ import with_statement
+from string import Template
+
+class Options():
+ """Option manager. It parse and check all paramteres, set internal variables."""
+ def __init__(self, args):
+ import logging as log
+ log.basicConfig()
+ #comand line options parser
+ from optparse import OptionParser
+ #load some directory searching stuff
+ import os.path, sys
+
+ opt = OptionParser("%prog [options] path_to_input_file path_to_output_file.")
+
+ self._o, self._a = opt.parse_args(args)
+
+ try:
+ if not (os.path.exists(self._a[0])):
+ raise Exception("Path doesn't exist")
+ if len(self._a) != 2:
+ raise IndexError("Only two files!")
+ self._o.ipath = self._a[0]
+ self._o.opath = self._a[1]
+ except IndexError:
+ log.error("Bad usage. Please try -h or --help")
+ sys.exit(1)
+ except Exception:
+ log.error("Path '" + self._a[0] + " or " + self._a[1] + "' don't exist")
+ sys.exit(2)
+
+ def __getattr__(self, attr):
+ """map all options properties into this object (remove one level of indirection)"""
+ return getattr(self._o, attr)
+
+
+mainTempl = Template("""/*
+ Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+////////////////////////////////////////////////////////////////
+// THIS FILE IS AUTOGENERATED, ALL MODIFICATIONS WILL BE LAST //
+////////////////////////////////////////////////////////////////
+
+#include "testgenerator.h"
+
+#include <QtCore/qdatastream.h>
+#include <QtCore/qdatetime.h>
+#include <QtCore/qdebug.h>
+#include <QtCore/qfile.h>
+#include <QtCore/qnumeric.h>
+#include <QtCore/qvariant.h>
+#include <QtCore/qvector.h>
+#include <QtScript/qscriptvalue.h>
+#include <QtScript/qscriptengine.h>
+
+
+
+typedef bool (QScriptValue::*ComparisionType) (const QScriptValue&) const;
+static QVector<bool> compare(ComparisionType compare, QScriptValue value, const QScriptValueList& values) {
+ QVector<bool> result;
+ result.reserve(${count});
+
+ QScriptValueList::const_iterator i = values.constBegin();
+ for (; i != values.constEnd(); ++i) {
+ result << (value.*compare)(*i);
+ }
+ return result;
+}
+
+static void dump(QDataStream& out, QScriptValue& value, const QString& expression, const QScriptValueList& allValues)
+{
+ out << QString(expression);
+
+ out << value.isValid();
+ out << value.isBool();
+ out << value.isBoolean();
+ out << value.isNumber();
+ out << value.isFunction();
+ out << value.isNull();
+ out << value.isString();
+ out << value.isUndefined();
+ out << value.isVariant();
+ out << value.isQObject();
+ out << value.isQMetaObject();
+ out << value.isObject();
+ out << value.isDate();
+ out << value.isRegExp();
+ out << value.isArray();
+ out << value.isError();
+
+ out << value.toString();
+ out << value.toNumber();
+ out << value.toBool();
+ out << value.toBoolean();
+ out << value.toInteger();
+ out << value.toInt32();
+ out << value.toUInt32();
+ out << value.toUInt16();
+
+ out << compare(&QScriptValue::equals, value, allValues);
+ out << compare(&QScriptValue::strictlyEquals, value, allValues);
+ out << compare(&QScriptValue::lessThan, value, allValues);
+ out << compare(&QScriptValue::instanceOf, value, allValues);
+
+ out << qscriptvalue_cast<QString>(value);
+ out << qscriptvalue_cast<qsreal>(value);
+ out << qscriptvalue_cast<bool>(value);
+ out << qscriptvalue_cast<qint32>(value);
+ out << qscriptvalue_cast<quint32>(value);
+ out << qscriptvalue_cast<quint16>(value);
+}
+
+void TestGenerator::prepareData()
+{
+ QScriptEngine* engine = new QScriptEngine;
+
+ QScriptValueList allValues;
+ allValues << ${values};
+ QVector<QString> allDataTags;
+ allDataTags.reserve(${count});
+ allDataTags << ${dataTags};
+ QDataStream out(&m_tempFile);
+ out << allDataTags;
+
+ for(unsigned i = 0; i < ${count}; ++i)
+ dump(out, allValues[i], allDataTags[i], allValues);
+
+ delete engine;
+}
+""")
+qsvTempl = Template("""
+ {
+ QScriptValue value = ${expr};
+ dump(out, value, "${expr_esc}", allValues);
+ }""")
+
+
+
+if __name__ == '__main__':
+ import sys
+ o = Options(sys.argv[1:])
+ out = []
+ qsv = []
+ # load input file
+ with open(o.ipath) as f:
+ for row in f.readlines():
+ qsv.append(row)
+
+ #skip comments and empty lines
+ qsv = filter(lambda w: len(w.strip()) and not w.startswith('#'), qsv)
+
+ escape = lambda w: w.replace('\\','\\\\').replace('"','\\"')
+
+ for row in qsv:
+ row = row.replace('\n','')
+ row_esc = escape(row)
+ out.append(qsvTempl.substitute(expr = row, expr_esc = row_esc))
+
+ result = mainTempl.substitute(dump= "".join(out) \
+ , values = (11 * ' ' + '<< ').join(qsv) \
+ , count = len(qsv) \
+ , dataTags = (11 * ' ' + '<< ').join(map(lambda w: '"' + escape(w.replace('\n','')) + '"\n', qsv)))
+
+ with open(o.opath, 'w') as f:
+ f.write(result)
+
+
diff --git a/tests/auto/qscriptvalue/testgen/main.cpp b/tests/auto/qscriptvalue/testgen/main.cpp
new file mode 100644
index 0000000..fe35de9
--- /dev/null
+++ b/tests/auto/qscriptvalue/testgen/main.cpp
@@ -0,0 +1,62 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "testgenerator.h"
+#include <QtCore/qdebug.h>
+#include <QtCore/qfile.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/QCoreApplication>
+
+int main(int argc, char *argv[])
+{
+ QCoreApplication a(argc, argv);
+
+ if (argc != 2) {
+ qWarning() << "./prog outputfile";
+ exit(1);
+ }
+
+ //Procced
+ TestGenerator gen(a.arguments()[1]);
+ gen.run();
+
+ return 0;
+}
diff --git a/tests/auto/qscriptvalue/testgen/testgen.pro b/tests/auto/qscriptvalue/testgen/testgen.pro
new file mode 100644
index 0000000..47709a8
--- /dev/null
+++ b/tests/auto/qscriptvalue/testgen/testgen.pro
@@ -0,0 +1,18 @@
+QT += core script
+TARGET = testgen
+CONFIG += console
+CONFIG -= app_bundle
+TEMPLATE = app
+
+SOURCES += main.cpp \
+ testgenerator.cpp
+HEADERS += testgenerator.h
+
+
+INPUT_DATASET = data.txt
+dataset.name = Generating QScraiptValue autotest's dataset
+dataset.output = autogenerated.cpp
+dataset.commands = python gen.py data.txt autogenerated.cpp
+dataset.input = INPUT_DATASET
+dataset.variable_out = SOURCES
+QMAKE_EXTRA_COMPILERS += dataset
diff --git a/tests/auto/qscriptvalue/testgen/testgenerator.cpp b/tests/auto/qscriptvalue/testgen/testgenerator.cpp
new file mode 100644
index 0000000..d852ea5
--- /dev/null
+++ b/tests/auto/qscriptvalue/testgen/testgenerator.cpp
@@ -0,0 +1,688 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "testgenerator.h"
+
+#include <QtCore/qdatastream.h>
+#include <QtCore/qdatetime.h>
+#include <QtCore/qdebug.h>
+#include <QtCore/qnumeric.h>
+#include <QtCore/qstringlist.h>
+#include <QtCore/qtextstream.h>
+#include <QtCore/qvariant.h>
+#include <QtScript/qscriptvalue.h>
+
+void TestGenerator::save(const QString& data)
+{
+ QTextStream out(&m_ofile);
+ out << data;
+}
+
+static QString escape(QString txt)
+{
+ return txt.replace("\\","\\\\").replace("\"","\\\"").replace("\n","\\n");
+}
+
+template<typename T>
+QString prepareToInsert(T value) {return QString::fromAscii("\"") + escape(value) + "\"";}
+template<>
+QString prepareToInsert<qsreal>(qsreal value)
+{
+ if (qIsNaN(value))
+ return "qQNaN()";
+ if (qIsInf(value))
+ return "qInf()";
+ return QString::number(value, 'g', 16);
+}
+template<>
+QString prepareToInsert<qint32>(qint32 value) {return QString::number(value);}
+template<>
+QString prepareToInsert<quint32>(quint32 value) {return QString::number(value);}
+template<>
+QString prepareToInsert<quint16>(quint16 value) {return QString::number(value);}
+template<>
+QString prepareToInsert<bool>(bool value) {return value ? "true" : "false";}
+template<>
+QString prepareToInsert<QString>(QString value) {return QString::fromAscii("\"") + escape(value) + "\"";}
+
+template<typename T>
+QString typeName() {return QString();}
+template<>
+QString typeName<qsreal>() {return "qsreal";}
+template<>
+QString typeName<qint32>() {return "qint32";}
+template<>
+QString typeName<quint32>() {return "quint32";}
+template<>
+QString typeName<quint16>() {return "quint16";}
+template<>
+QString typeName<bool>() {return "bool";}
+template<>
+QString typeName<QString>() {return "QString";}
+
+static QString generateIsXXXDef(const QString& name, const QList<QString>& list)
+{
+ static const QString templ("void tst_QScriptValue::%1_initData()\n"\
+ "{\n"\
+ " QTest::addColumn<bool>(\"expected\");\n"\
+ " initScriptValues();\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::%1_makeData(const char* expr)\n"\
+ "{\n"\
+ " static QSet<QString> %1;\n"\
+ " if (%1.isEmpty()) {\n"\
+ " %1%2\n"\
+ " }\n"\
+ " newRow(expr) << %1.contains(expr);\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\
+ "{\n"\
+ " QFETCH(bool, expected);\n"\
+ " QCOMPARE(value.%1(), expected);\n"\
+ "}\n"\
+ "\n"\
+ "DEFINE_TEST_FUNCTION(%1)\n"\
+ "\n");
+
+ if (!list.size()) {
+ qWarning() << name << ": nothing to add!" ;
+ return QString();
+ }
+
+ QString result = templ;
+ QStringList set;
+ foreach(QString t, list) {
+ t = escape(t);
+ t.append('\"');
+ t.prepend('\"');
+ set.append(QString(" << "));
+ set.append(t);
+ set.append("\n ");
+ }
+ set.append(";");
+ return result.arg(name, set.join(QString()));
+}
+
+template<typename T>
+static QString generateToXXXDef(const QString& name, const QList<QPair<QString, T> >& list)
+{
+ static const QString templ = "\n"\
+ "void tst_QScriptValue::%1_initData()\n"\
+ "{\n"\
+ " QTest::addColumn<%2>(\"expected\");\n"\
+ " initScriptValues();\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::%1_makeData(const char* expr)\n"\
+ "{\n"\
+ " static QHash<QString, %2> %1;\n"\
+ " if (%1.isEmpty()) {\n"\
+ "%3"\
+ " }\n"\
+ " newRow(expr) << %1.value(expr);\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\
+ "{\n"\
+ " QFETCH(%2, expected);\n"\
+ " QCOMPARE(value.%1(), expected);\n"\
+ "}\n"\
+ "\n"\
+ "DEFINE_TEST_FUNCTION(%1)\n";
+ QString result = templ;
+
+ typename QList<QPair<QString, T> >::const_iterator i = list.constBegin();
+ QStringList set;
+ for(; i != list.constEnd(); ++i) {
+ QPair<QString, T> t = *i;
+ t.first = escape(t.first);
+ set.append(QString(" "));
+ set.append(name);
+ set.append(".insert(\"");
+ set.append(t.first);
+ set.append(QString::fromAscii("\", "));
+ set.append(prepareToInsert<T>(t.second));
+ set.append(QString::fromAscii(");\n"));
+ }
+ return result.arg(name, typeName<T>(), set.join(QString()));
+}
+
+
+template<>
+QString generateToXXXDef<qsreal>(const QString& name, const QList<QPair<QString, qsreal> >& list)
+{
+ static const QString templ = "\n"\
+ "void tst_QScriptValue::%1_initData()\n"\
+ "{\n"\
+ " QTest::addColumn<%2>(\"expected\");\n"\
+ " initScriptValues();\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::%1_makeData(const char* expr)\n"\
+ "{\n"\
+ " static QHash<QString, %2> %1;\n"\
+ " if (%1.isEmpty()) {\n"\
+ "%3"\
+ " }\n"\
+ " newRow(expr) << %1.value(expr);\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::%1_test(const char*, const QScriptValue& value)\n"\
+ "{\n"\
+ " QFETCH(%2, expected);\n"\
+ "%666"
+ " if (qIsInf(expected)) {\n"\
+ " QVERIFY(qIsInf(value.%1()));\n"\
+ " return;\n"\
+ " }\n"\
+ " QCOMPARE(value.%1(), expected);\n"\
+ "}\n"\
+ "\n"\
+ "DEFINE_TEST_FUNCTION(%1)\n";
+ QString result = templ;
+
+ QList<QPair<QString, qsreal> >::const_iterator i = list.constBegin();
+ QStringList set;
+ for(; i != list.constEnd(); ++i) {
+ QPair<QString, qsreal> t = *i;
+ t.first = escape(t.first);
+ set.append(QString(" "));
+ set.append(name);
+ set.append(".insert(\"");
+ set.append(t.first);
+ set.append(QString::fromAscii("\", "));
+ set.append(prepareToInsert<qsreal>(t.second));
+ set.append(QString::fromAscii(");\n"));
+ }
+ // toInteger shouldn't return NaN, so it would be nice to catch the case.
+ QString hook;
+ if (name == "toNumber") {
+ hook =
+ " if (qIsNaN(expected)) {\n"\
+ " QVERIFY(qIsNaN(value.toNumber()));\n"\
+ " return;\n"\
+ " }\n";
+ }
+ return result.arg(name, typeName<qsreal>(), set.join(QString()), hook);
+}
+
+template<typename T>
+static QString generateCastDef(const QList<QPair<QString, T> >& list)
+{
+ static const QString templ = "\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%2_initData()\n"\
+ "{\n"\
+ " QTest::addColumn<%2>(\"expected\");\n"\
+ " initScriptValues();\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%2_makeData(const char* expr)\n"\
+ "{\n"\
+ " static QHash<QString, %2> value;\n"\
+ " if (value.isEmpty()) {\n"\
+ "%3"\
+ " }\n"\
+ " newRow(expr) << value.value(expr);\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%2_test(const char*, const QScriptValue& value)\n"\
+ "{\n"\
+ " QFETCH(%2, expected);\n"\
+ " QCOMPARE(qscriptvalue_cast<%2>(value), expected);\n"\
+ "}\n"\
+ "\n"\
+ "DEFINE_TEST_FUNCTION(qscriptvalue_cast%2)\n";
+ QString result = templ;
+
+ typename QList<QPair<QString, T> >::const_iterator i = list.constBegin();
+ QStringList set;
+ for(; i != list.constEnd(); ++i) {
+ QPair<QString, T> t = *i;
+ t.first = escape(t.first);
+ set.append(QString(" "));
+ set.append("value.insert(\"");
+ set.append(t.first);
+ set.append(QString::fromAscii("\", "));
+ set.append(prepareToInsert<T>(t.second));
+ set.append(QString::fromAscii(");\n"));
+ }
+ return result.arg(typeName<T>(), set.join(QString()));
+}
+
+template<>
+QString generateCastDef<qsreal>(const QList<QPair<QString, qsreal> >& list)
+{
+ static const QString templ = "\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%2_initData()\n"\
+ "{\n"\
+ " QTest::addColumn<%2>(\"expected\");\n"\
+ " initScriptValues();\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%2_makeData(const char* expr)\n"\
+ "{\n"\
+ " static QHash<QString, %2> value;\n"\
+ " if (value.isEmpty()) {\n"\
+ "%3"\
+ " }\n"\
+ " newRow(expr) << value.value(expr);\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::qscriptvalue_cast%2_test(const char*, const QScriptValue& value)\n"\
+ "{\n"\
+ " QFETCH(%2, expected);\n"\
+ " if (qIsNaN(expected)) {\n"
+ " QVERIFY(qIsNaN(qscriptvalue_cast<%2>(value)));\n"
+ " return;\n"
+ " }\n"\
+ " if (qIsInf(expected)) {\n"
+ " QVERIFY(qIsInf(qscriptvalue_cast<%2>(value)));\n"
+ " return;\n"
+ " }\n"
+ " QCOMPARE(qscriptvalue_cast<%2>(value), expected);\n"\
+ "}\n"\
+ "\n"\
+ "DEFINE_TEST_FUNCTION(qscriptvalue_cast%2)\n";
+ QString result = templ;
+
+ QList<QPair<QString, qsreal> >::const_iterator i = list.constBegin();
+ QStringList set;
+ for(; i != list.constEnd(); ++i) {
+ QPair<QString, qsreal> t = *i;
+ t.first = escape(t.first);
+ set.append(QString(" "));
+ set.append("value.insert(\"");
+ set.append(t.first);
+ set.append(QString::fromAscii("\", "));
+ set.append(prepareToInsert<qsreal>(t.second));
+ set.append(QString::fromAscii(");\n"));
+ }
+ return result.arg(typeName<qsreal>(), set.join(QString()));
+}
+
+static QString generateCompareDef(const QString& comparisionType, const QList<QString> tags)
+{
+ static const QString templ = "\n"\
+ "void tst_QScriptValue::%1_initData()\n"\
+ "{\n"\
+ " QTest::addColumn<QScriptValue>(\"other\");\n"\
+ " QTest::addColumn<bool>(\"expected\");\n"\
+ " initScriptValues();\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::%1_makeData(const char *expr)\n"\
+ "{\n"\
+ " static QSet<QString> equals;\n"\
+ " if (equals.isEmpty()) {\n"\
+ "%2\n"\
+ " }\n"\
+ " QHash<QString, QScriptValue>::const_iterator it;\n"\
+ " for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {\n"\
+ " QString tag = QString::fromLatin1(\"%20 <=> %21\").arg(expr).arg(it.key());\n"\
+ " newRow(tag.toLatin1()) << it.value() << equals.contains(tag);\n"\
+ " }\n"\
+ "}\n"\
+ "\n"\
+ "void tst_QScriptValue::%1_test(const char *, const QScriptValue& value)\n"\
+ "{\n"\
+ " QFETCH(QScriptValue, other);\n"\
+ " QFETCH(bool, expected);\n"\
+ " QCOMPARE(value.%1(other), expected);\n"\
+ "}\n"\
+ "\n"\
+ "DEFINE_TEST_FUNCTION(%1)\n";
+ Q_ASSERT(comparisionType == "strictlyEquals"
+ || comparisionType == "equals"
+ || comparisionType == "lessThan"
+ || comparisionType == "instanceOf");
+ QString result = templ;
+
+ QStringList set;
+ foreach(const QString& tmp, tags) {
+ set.append(" equals.insert(\"" + escape(tmp) + "\");");
+ }
+ return result.arg(comparisionType, set.join("\n"));
+}
+
+static QString generateInitDef(const QVector<QString>& allDataTags)
+{
+ static const QString templ = "/****************************************************************************\n"
+ "**\n"
+ "** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).\n"
+ "** All rights reserved.\n"
+ "** Contact: Nokia Corporation (qt-info@nokia.com)\n"
+ "**\n"
+ "** This file is part of the test suite of the Qt Toolkit.\n"
+ "**\n"
+ "** $QT_BEGIN_LICENSE:LGPL$\n"
+ "** No Commercial Usage\n"
+ "** This file contains pre-release code and may not be distributed.\n"
+ "** You may use this file in accordance with the terms and conditions\n"
+ "** contained in the Technology Preview License Agreement accompanying\n"
+ "** this package.\n"
+ "**\n"
+ "** GNU Lesser General Public License Usage\n"
+ "** Alternatively, this file may be used under the terms of the GNU Lesser\n"
+ "** General Public License version 2.1 as published by the Free Software\n"
+ "** Foundation and appearing in the file LICENSE.LGPL included in the\n"
+ "** packaging of this file. Please review the following information to\n"
+ "** ensure the GNU Lesser General Public License version 2.1 requirements\n"
+ "** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.\n"
+ "**\n"
+ "** In addition, as a special exception, Nokia gives you certain additional\n"
+ "** rights. These rights are described in the Nokia Qt LGPL Exception\n"
+ "** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.\n"
+ "**\n"
+ "** If you have questions regarding the use of this file, please contact\n"
+ "** Nokia at qt-info@nokia.com.\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "**\n"
+ "** $QT_END_LICENSE$\n"
+ "**\n"
+ "****************************************************************************/\n"
+ "\n"\
+ "#include \"tst_qscriptvalue.h\"\n\n"\
+ "#define DEFINE_TEST_VALUE(expr) m_values.insert(QString::fromLatin1(#expr), expr)\n"\
+ "\n"\
+ "void tst_QScriptValue::initScriptValues()\n"\
+ "{\n"\
+ " m_values.clear();\n"\
+ " if (engine) \n"\
+ " delete engine;\n"\
+ " engine = new QScriptEngine;\n"\
+ "%1\n}\n\n";
+ QString result = templ;
+ QStringList set;
+ foreach(const QString tag, allDataTags) {
+ set.append(" DEFINE_TEST_VALUE(" + tag + ");");
+ }
+
+ return result.arg(set.join("\n"));
+}
+
+static void squashTags(QString dataTag, const QVector<bool>& results, QList<QString>& tags, QVector<QString> dataTags)
+{
+ for(int i = 0; i < results.count(); ++i) {
+ if (results.at(i))
+ tags.append(dataTag + " <=> " + dataTags[i]);
+ }
+}
+
+
+QString TestGenerator::generateTest()
+{
+ // All data tags keept in one place.
+ QVector<QString> dataTags;
+
+ // Data tags for values that return true in isXXX call
+ QList<QString> isValidList;
+ QList<QString> isBoolList;
+ QList<QString> isBooleanList;
+ QList<QString> isNumberList;
+ QList<QString> isFunctionList;
+ QList<QString> isNullList;
+ QList<QString> isStringList;
+ QList<QString> isUndefinedList;
+ QList<QString> isVariantList;
+ QList<QString> isQObjectList;
+ QList<QString> isQMetaObjectList;
+ QList<QString> isObjectList;
+ QList<QString> isDateList;
+ QList<QString> isRegExpList;
+ QList<QString> isArrayList;
+ QList<QString> isErrorList;
+
+ // List of pairs data tag and value returned from toXXX call
+ QList<QPair<QString, QString> > toStringList;
+ QList<QPair<QString, qsreal> > toNumberList;
+ QList<QPair<QString, bool> > toBoolList;
+ QList<QPair<QString, bool> > toBooleanList;
+ QList<QPair<QString, qsreal> > toIntegerList;
+ QList<QPair<QString, qint32> > toInt32List;
+ QList<QPair<QString, quint32> > toUInt32List;
+ QList<QPair<QString, quint16> > toUInt16List;
+
+ // List of complex tags returning true
+ QList<QString> equalsList;
+ QList<QString> strictlyEqualsList;
+ QList<QString> lessThanList;
+ QList<QString> instanceOfList;
+
+ QList<QPair<QString, QString> > castStringList;
+ QList<QPair<QString, qsreal> > castSRealList;
+ QList<QPair<QString, bool> > castBoolList;
+ QList<QPair<QString, qint32> > castInt32List;
+ QList<QPair<QString, quint32> > castUInt32List;
+ QList<QPair<QString, quint16> > castUInt16List;
+
+ // Load.
+ m_tempFile.seek(0);
+ QDataStream in(&m_tempFile);
+ in >> dataTags;
+ Q_ASSERT(in.status() == in.Ok);
+
+ while(!in.atEnd())
+ {
+ bool isValidRes;
+ bool isBoolRes;
+ bool isBooleanRes;
+ bool isNumberRes;
+ bool isFunctionRes;
+ bool isNullRes;
+ bool isStringRes;
+ bool isUndefinedRes;
+ bool isVariantRes;
+ bool isQObjectRes;
+ bool isQMetaObjectRes;
+ bool isObjectRes;
+ bool isDateRes;
+ bool isRegExpRes;
+ bool isArrayRes;
+ bool isErrorRes;
+
+ QString toStringRes;
+ qsreal toNumberRes;
+ bool toBoolRes;
+ bool toBooleanRes;
+ qsreal toIntegerRes;
+ qint32 toInt32Res;
+ quint32 toUInt32Res;
+ quint16 toUInt16Res;
+ //toVariantRes;
+ //toDateTimeRes;
+
+ QVector<bool> equalsRes;
+ QVector<bool> strictlyEqualsRes;
+ QVector<bool> lessThanRes;
+ QVector<bool> instanceOfRes;
+
+ QString castStringRes;
+ qsreal castSRealRes;
+ bool castBoolRes;
+ qint32 castInt32Res;
+ quint32 castUInt32Res;
+ quint16 castUInt16Res;
+
+ QString dataTag;
+ in >> dataTag;
+ in >> isValidRes;
+ in >> isBoolRes;
+ in >> isBooleanRes;
+ in >> isNumberRes;
+ in >> isFunctionRes;
+ in >> isNullRes;
+ in >> isStringRes;
+ in >> isUndefinedRes;
+ in >> isVariantRes;
+ in >> isQObjectRes;
+ in >> isQMetaObjectRes;
+ in >> isObjectRes;
+ in >> isDateRes;
+ in >> isRegExpRes;
+ in >> isArrayRes;
+ in >> isErrorRes;
+
+ if (isValidRes) isValidList.append(dataTag);
+ if (isBoolRes) isBoolList.append(dataTag);
+ if (isBooleanRes) isBooleanList.append(dataTag);
+ if (isNumberRes) isNumberList.append(dataTag);
+ if (isFunctionRes) isFunctionList.append(dataTag);
+ if (isNullRes) isNullList.append(dataTag);
+ if (isStringRes) isStringList.append(dataTag);
+ if (isUndefinedRes) isUndefinedList.append(dataTag);
+ if (isVariantRes) isVariantList.append(dataTag);
+ if (isQObjectRes) isQObjectList.append(dataTag);
+ if (isQMetaObjectRes) isQMetaObjectList.append(dataTag);
+ if (isObjectRes) isObjectList.append(dataTag);
+ if (isDateRes) isDateList.append(dataTag);
+ if (isRegExpRes) isRegExpList.append(dataTag);
+ if (isArrayRes) isArrayList.append(dataTag);
+ if (isErrorRes) isErrorList.append(dataTag);
+
+ in >> toStringRes;
+ in >> toNumberRes;
+ in >> toBoolRes;
+ in >> toBooleanRes;
+ in >> toIntegerRes;
+ in >> toInt32Res;
+ in >> toUInt32Res;
+ in >> toUInt16Res;
+ //in >> toVariantRes;
+ //in >> toDateTimeRes;
+
+ toStringList.append(QPair<QString, QString>(dataTag, toStringRes));
+ toNumberList.append(QPair<QString, qsreal>(dataTag, toNumberRes));
+ toBoolList.append(QPair<QString, bool>(dataTag, toBoolRes));
+ toBooleanList.append(QPair<QString, bool>(dataTag, toBooleanRes));
+ toIntegerList.append(QPair<QString, qsreal>(dataTag, toIntegerRes));
+ toInt32List.append(QPair<QString, qint32>(dataTag, toInt32Res));
+ toUInt32List.append(QPair<QString, quint32>(dataTag, toUInt32Res));
+ toUInt16List.append(QPair<QString, quint16>(dataTag, toUInt16Res));
+
+ in >> equalsRes;
+ in >> strictlyEqualsRes;
+ in >> lessThanRes;
+ in >> instanceOfRes;
+
+ squashTags(dataTag, equalsRes, equalsList, dataTags);
+ squashTags(dataTag, strictlyEqualsRes, strictlyEqualsList, dataTags);
+ squashTags(dataTag, lessThanRes, lessThanList, dataTags);
+ squashTags(dataTag, instanceOfRes, instanceOfList, dataTags);
+
+ in >> castStringRes;
+ in >> castSRealRes;
+ in >> castBoolRes;
+ in >> castInt32Res;
+ in >> castUInt32Res;
+ in >> castUInt16Res;
+
+ castStringList.append(QPair<QString, QString>(dataTag, castStringRes));
+ castSRealList.append(QPair<QString, qsreal>(dataTag, castSRealRes));
+ castBoolList.append(QPair<QString, bool>(dataTag, castBoolRes));
+ castInt32List.append(QPair<QString, qint32>(dataTag, castInt32Res));
+ castUInt32List.append(QPair<QString, quint32>(dataTag, castUInt32Res));
+ castUInt16List.append(QPair<QString, quint16>(dataTag, castUInt16Res));
+
+ Q_ASSERT(in.status() == in.Ok);
+ }
+
+ Q_ASSERT(in.atEnd());
+
+ // Generate.
+ QStringList result;
+ result.append(generateInitDef(dataTags));
+ result.append(generateIsXXXDef("isValid", isValidList));
+ result.append(generateIsXXXDef("isBool", isBoolList));
+ result.append(generateIsXXXDef("isBoolean", isBooleanList));
+ result.append(generateIsXXXDef("isNumber", isNumberList));
+ result.append(generateIsXXXDef("isFunction", isFunctionList));
+ result.append(generateIsXXXDef("isNull", isNullList));
+ result.append(generateIsXXXDef("isString", isStringList));
+ result.append(generateIsXXXDef("isUndefined", isUndefinedList));
+ result.append(generateIsXXXDef("isVariant", isVariantList));
+ result.append(generateIsXXXDef("isQObject", isQObjectList));
+ result.append(generateIsXXXDef("isQMetaObject", isQMetaObjectList));
+ result.append(generateIsXXXDef("isObject", isObjectList));
+ result.append(generateIsXXXDef("isDate", isDateList));
+ result.append(generateIsXXXDef("isRegExp", isRegExpList));
+ result.append(generateIsXXXDef("isArray", isArrayList));
+ result.append(generateIsXXXDef("isError", isErrorList));
+
+ result.append(generateToXXXDef<QString>("toString", toStringList));
+ result.append(generateToXXXDef<qsreal>("toNumber", toNumberList));
+ result.append(generateToXXXDef<bool>("toBool", toBoolList));
+ result.append(generateToXXXDef<bool>("toBoolean", toBooleanList));
+ result.append(generateToXXXDef<qsreal>("toInteger", toIntegerList));
+ result.append(generateToXXXDef<qint32>("toInt32", toInt32List));
+ result.append(generateToXXXDef<quint32>("toUInt32", toUInt32List));
+ result.append(generateToXXXDef<quint16>("toUInt16", toUInt16List));
+
+ result.append(generateCompareDef("equals", equalsList));
+ result.append(generateCompareDef("strictlyEquals", strictlyEqualsList));
+ result.append(generateCompareDef("lessThan", lessThanList));
+ result.append(generateCompareDef("instanceOf", instanceOfList));
+
+ result.append(generateCastDef(castStringList));
+ result.append(generateCastDef(castSRealList));
+ result.append(generateCastDef(castBoolList));
+ result.append(generateCastDef(castInt32List));
+ result.append(generateCastDef(castUInt32List));
+ result.append(generateCastDef(castUInt16List));
+
+ return result.join("\n");
+}
+
+
+
+
+
+
+
+
+
diff --git a/tests/auto/qscriptvalue/testgen/testgenerator.h b/tests/auto/qscriptvalue/testgen/testgenerator.h
new file mode 100644
index 0000000..8f4a357
--- /dev/null
+++ b/tests/auto/qscriptvalue/testgen/testgenerator.h
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef TESTGENERATOR_H
+#define TESTGENERATOR_H
+
+#include <QtCore/qdebug.h>
+#include <QtCore/qfile.h>
+#include <QtCore/qtemporaryfile.h>
+
+class TestGenerator {
+public:
+ TestGenerator(QString& outputpath)
+ : m_ofile(outputpath)
+ {
+ // Open output file
+ if (!m_ofile.open(QIODevice::WriteOnly | QIODevice::Text)) {
+ qWarning() << "Can't open output file: " << outputpath;
+ exit(2);
+ }
+ m_tempFile.open();
+ }
+
+ void run()
+ {
+ prepareData();
+ Q_ASSERT(m_tempFile.size());
+ save(generateTest());
+ }
+
+ void prepareData();
+ QString generateTest();
+ void save(const QString& data);
+private:
+ QFile m_ofile;
+ QTemporaryFile m_tempFile;
+};
+
+#endif // TESTGENERATOR_H
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
index ef960d0..f83cf58 100644
--- a/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue.cpp
@@ -39,14 +39,8 @@
**
****************************************************************************/
-
-#include <QtTest/QtTest>
+#include "tst_qscriptvalue.h"
#include <QtGui/QPushButton>
-#include <QtCore/qnumeric.h>
-
-#include <QtScript/qscriptclass.h>
-#include <QtScript/qscriptvalue.h>
-#include <QtScript/qscriptengine.h>
//TESTED_CLASS=
//TESTED_FILES=
@@ -55,62 +49,70 @@ QT_BEGIN_NAMESPACE
extern bool qt_script_isJITEnabled();
QT_END_NAMESPACE
-class tst_QScriptValue : public QObject
+tst_QScriptValue::tst_QScriptValue()
+ : engine(0)
{
- Q_OBJECT
+}
-public:
- tst_QScriptValue();
- virtual ~tst_QScriptValue();
-
-private slots:
- void ctor();
- void engine();
- void toString();
- void toNumber();
- void toBoolean();
- void toBool();
- void toInteger();
- void toInt32();
- void toUInt32();
- void toUInt16();
- void toVariant();
- void toQObject();
- void toObject();
- void toDateTime();
- void toRegExp();
- void instanceOf();
- void isArray();
- void isDate();
- void isError();
- void isRegExp();
- void getSetPrototype();
- void getSetScope();
- void getSetProperty();
- void arrayElementGetterSetter();
- void getSetData();
- void getSetScriptClass();
- void call();
- void construct();
- void lessThan();
- void equals();
- void strictlyEquals();
- void castToPointer();
- void prettyPrinter_data();
- void prettyPrinter();
- void engineDeleted();
- void valueOfWithClosure();
- void objectId();
-};
+tst_QScriptValue::~tst_QScriptValue()
+{
+ delete engine;
+}
-tst_QScriptValue::tst_QScriptValue()
+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();
}
-tst_QScriptValue::~tst_QScriptValue()
+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::assignAndCopyConstruct_initData()
+{
+ QTest::addColumn<int>("dummy");
+ initScriptValues();
+}
+
+void tst_QScriptValue::assignAndCopyConstruct_makeData(const char *expr)
+{
+ newRow(expr) << 0;
+}
+
+void tst_QScriptValue::assignAndCopyConstruct_test(const char *, const QScriptValue &value)
+{
+ QScriptValue copy(value);
+ QCOMPARE(copy.strictlyEquals(value), !value.isNumber() || !qIsNaN(value.toNumber()));
+ QCOMPARE(copy.engine(), value.engine());
+
+ QScriptValue assigned = copy;
+ QCOMPARE(assigned.strictlyEquals(value), !copy.isNumber() || !qIsNaN(copy.toNumber()));
+ QCOMPARE(assigned.engine(), assigned.engine());
+
+ QScriptValue other(!value.toBool());
+ assigned = other;
+ QVERIFY(!assigned.strictlyEquals(copy));
+ QVERIFY(assigned.strictlyEquals(other));
+ QCOMPARE(assigned.engine(), other.engine());
+}
+
+DEFINE_TEST_FUNCTION(assignAndCopyConstruct)
+
void tst_QScriptValue::ctor()
{
QScriptEngine eng;
@@ -330,19 +332,12 @@ void tst_QScriptValue::ctor()
QVERIFY(QScriptValue(0, QString("ciao")).isString());
}
-void tst_QScriptValue::engine()
-{
- QScriptEngine eng;
- QScriptValue object = eng.newObject();
- QCOMPARE(object.engine(), &eng);
-}
-
static QScriptValue myFunction(QScriptContext *, QScriptEngine *eng)
{
return eng->undefinedValue();
}
-void tst_QScriptValue::toString()
+void tst_QScriptValue::toString_old()
{
QScriptEngine eng;
@@ -456,7 +451,7 @@ void tst_QScriptValue::toString()
QVERIFY(variant.toString().isEmpty());
}
-void tst_QScriptValue::toNumber()
+void tst_QScriptValue::toNumber_old()
{
QScriptEngine eng;
@@ -529,7 +524,7 @@ void tst_QScriptValue::toNumber()
}
}
-void tst_QScriptValue::toBoolean() // deprecated
+void tst_QScriptValue::toBoolean_old() // deprecated
{
QScriptEngine eng;
@@ -626,7 +621,7 @@ void tst_QScriptValue::toBoolean() // deprecated
}
}
-void tst_QScriptValue::toBool()
+void tst_QScriptValue::toBool_old()
{
QScriptEngine eng;
@@ -723,7 +718,7 @@ void tst_QScriptValue::toBool()
}
}
-void tst_QScriptValue::toInteger()
+void tst_QScriptValue::toInteger_old()
{
QScriptEngine eng;
@@ -810,7 +805,7 @@ void tst_QScriptValue::toInteger()
QCOMPARE(inv.toInteger(), 0.0);
}
-void tst_QScriptValue::toInt32()
+void tst_QScriptValue::toInt32_old()
{
QScriptEngine eng;
@@ -946,7 +941,7 @@ void tst_QScriptValue::toInt32()
QCOMPARE(qscriptvalue_cast<qint32>(inv), 0);
}
-void tst_QScriptValue::toUInt32()
+void tst_QScriptValue::toUInt32_old()
{
QScriptEngine eng;
@@ -1078,7 +1073,7 @@ void tst_QScriptValue::toUInt32()
QCOMPARE(qscriptvalue_cast<quint32>(inv), quint32(0));
}
-void tst_QScriptValue::toUInt16()
+void tst_QScriptValue::toUInt16_old()
{
QScriptEngine eng;
@@ -1239,7 +1234,7 @@ void tst_QScriptValue::toUInt16()
Q_DECLARE_METATYPE(QVariant)
#endif
-void tst_QScriptValue::toVariant()
+void tst_QScriptValue::toVariant_old()
{
QScriptEngine eng;
@@ -1346,7 +1341,7 @@ void tst_QScriptValue::toVariant()
// unfortunately, this is necessary in order to do qscriptvalue_cast<QPushButton*>(...)
Q_DECLARE_METATYPE(QPushButton*)
-void tst_QScriptValue::toQObject()
+void tst_QScriptValue::toQObject_old()
{
QScriptEngine eng;
@@ -1541,7 +1536,7 @@ void tst_QScriptValue::toObject()
}
}
-void tst_QScriptValue::toDateTime()
+void tst_QScriptValue::toDateTime_old()
{
QScriptEngine eng;
QDateTime dt = eng.evaluate("new Date(0)").toDateTime();
@@ -1559,7 +1554,7 @@ void tst_QScriptValue::toDateTime()
QVERIFY(!eng.undefinedValue().toDateTime().isValid());
}
-void tst_QScriptValue::toRegExp()
+void tst_QScriptValue::toRegExp_old()
{
QScriptEngine eng;
{
@@ -1589,7 +1584,7 @@ void tst_QScriptValue::toRegExp()
QVERIFY(eng.undefinedValue().toRegExp().isEmpty());
}
-void tst_QScriptValue::instanceOf()
+void tst_QScriptValue::instanceOf_old()
{
QScriptEngine eng;
QScriptValue obj = eng.newObject();
@@ -1625,7 +1620,7 @@ void tst_QScriptValue::instanceOf()
QCOMPARE(obj.instanceOf(otherEngine.globalObject().property("Object")), false);
}
-void tst_QScriptValue::isArray()
+void tst_QScriptValue::isArray_old()
{
QScriptEngine eng;
QVERIFY(eng.evaluate("[]").isArray());
@@ -1638,7 +1633,7 @@ void tst_QScriptValue::isArray()
QVERIFY(!eng.undefinedValue().isArray());
}
-void tst_QScriptValue::isDate()
+void tst_QScriptValue::isDate_old()
{
QScriptEngine eng;
QVERIFY(eng.evaluate("new Date()").isDate());
@@ -1652,7 +1647,7 @@ void tst_QScriptValue::isDate()
QVERIFY(!eng.undefinedValue().isDate());
}
-void tst_QScriptValue::isError()
+void tst_QScriptValue::isError_old()
{
QStringList errors;
errors << "Error"
@@ -1677,7 +1672,7 @@ void tst_QScriptValue::isError()
QVERIFY(!eng.evaluate("new Object()").isError());
}
-void tst_QScriptValue::isRegExp()
+void tst_QScriptValue::isRegExp_old()
{
QScriptEngine eng;
QVERIFY(eng.evaluate("/foo/").isRegExp());
@@ -2718,7 +2713,7 @@ void tst_QScriptValue::construct()
QVERIFY(!QScriptValue(QScriptValue::NullValue).construct().isValid());
}
-void tst_QScriptValue::lessThan()
+void tst_QScriptValue::lessThan_old()
{
QScriptEngine eng;
@@ -2812,7 +2807,7 @@ void tst_QScriptValue::lessThan()
QCOMPARE(date1.lessThan(QScriptValue(&otherEngine, 123)), false);
}
-void tst_QScriptValue::equals()
+void tst_QScriptValue::equals_old()
{
QScriptEngine eng;
@@ -3005,7 +3000,7 @@ void tst_QScriptValue::equals()
QCOMPARE(date1.equals(QScriptValue(&otherEngine, 123)), false);
}
-void tst_QScriptValue::strictlyEquals()
+void tst_QScriptValue::strictlyEquals_old()
{
QScriptEngine eng;
@@ -3456,4 +3451,3 @@ void tst_QScriptValue::objectId()
}
QTEST_MAIN(tst_QScriptValue)
-#include "tst_qscriptvalue.moc"
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue.h b/tests/auto/qscriptvalue/tst_qscriptvalue.h
new file mode 100644
index 0000000..6215506
--- /dev/null
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue.h
@@ -0,0 +1,410 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef TST_QSCRIPTVALUE_H
+#define TST_QSCRIPTVALUE_H
+
+#include <QtCore/qobject.h>
+#include <QtCore/qnumeric.h>
+#include <QtScript/qscriptclass.h>
+#include <QtScript/qscriptengine.h>
+#include <QtScript/qscriptvalue.h>
+#include <QtTest/QtTest>
+
+Q_DECLARE_METATYPE(QVariant)
+Q_DECLARE_METATYPE(QScriptValue)
+
+class tst_QScriptValue : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_QScriptValue();
+ virtual ~tst_QScriptValue();
+
+private slots:
+ // Generated test functions
+ void isArray_data();
+ void isArray();
+
+ void isBool_data();
+ void isBool();
+
+ void isBoolean_data();
+ void isBoolean();
+
+ void isDate_data();
+ void isDate();
+
+ void isError_data();
+ void isError();
+
+ void isFunction_data();
+ void isFunction();
+
+ void isNull_data();
+ void isNull();
+
+ void isNumber_data();
+ void isNumber();
+
+ void isObject_data();
+ void isObject();
+
+// void isQMetaObject_data();
+// void isQMetaObject();
+
+// void isQObject_data();
+// void isQObject();
+
+ void isRegExp_data();
+ void isRegExp();
+
+ void isString_data();
+ void isString();
+
+ void isUndefined_data();
+ void isUndefined();
+
+ void isValid_data();
+ void isValid();
+
+// void isVariant_data();
+// void isVariant();
+
+ void toBool_data();
+ void toBool();
+
+ void toBoolean_data();
+ void toBoolean();
+
+// void toDateTime_data();
+// void toDateTime();
+
+ void toInt32_data();
+ void toInt32();
+
+ void toInteger_data();
+ void toInteger();
+
+ void toNumber_data();
+ void toNumber();
+
+// void toQMetaObject_data();
+// void toQMetaObject();
+
+// void toQObject_data();
+// void toQObject();
+
+// void toRegExp_data();
+// void toRegExp();
+
+ void toString_data();
+ void toString();
+
+ void toUInt16_data();
+ void toUInt16();
+
+ void toUInt32_data();
+ void toUInt32();
+
+// void toVariant_data();
+// void toVariant();
+
+ void equals_data();
+ void equals();
+
+ void strictlyEquals_data();
+ void strictlyEquals();
+
+ void lessThan_data();
+ void lessThan();
+
+ void instanceOf_data();
+ void instanceOf();
+
+ void assignAndCopyConstruct_data();
+ void assignAndCopyConstruct();
+
+ void qscriptvalue_castQString_data();
+ void qscriptvalue_castQString();
+
+ void qscriptvalue_castqsreal_data();
+ void qscriptvalue_castqsreal();
+
+ void qscriptvalue_castbool_data();
+ void qscriptvalue_castbool();
+
+ void qscriptvalue_castqint32_data();
+ void qscriptvalue_castqint32();
+
+ void qscriptvalue_castquint32_data();
+ void qscriptvalue_castquint32();
+
+ void qscriptvalue_castquint16_data();
+ void qscriptvalue_castquint16();
+
+ // Non-generated test functions
+
+ void toObject();
+ void ctor();
+
+ void toString_old();
+ void toNumber_old();
+ void toBoolean_old();
+ void toBool_old();
+ void toInteger_old();
+ void toInt32_old();
+ void toUInt32_old();
+ void toUInt16_old();
+ void toVariant_old();
+ void toQObject_old();
+ void toDateTime_old();
+ void toRegExp_old();
+ void instanceOf_old();
+ void isArray_old();
+ void isDate_old();
+ void isError_old();
+ void isRegExp_old();
+
+ void lessThan_old();
+ void equals_old();
+ void strictlyEquals_old();
+
+ void getSetPrototype();
+ void getSetScope();
+ void getSetProperty();
+ void arrayElementGetterSetter();
+ void getSetData();
+ void getSetScriptClass();
+ void call();
+ void construct();
+ void castToPointer();
+ void prettyPrinter_data();
+ void prettyPrinter();
+ void engineDeleted();
+ void valueOfWithClosure();
+ void objectId();
+
+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 isArray_initData();
+ void isArray_makeData(const char *expr);
+ void isArray_test(const char *expr, const QScriptValue &value);
+
+ 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 isDate_initData();
+ void isDate_makeData(const char *expr);
+ void isDate_test(const char *expr, const QScriptValue &value);
+
+ void isError_initData();
+ void isError_makeData(const char *expr);
+ void isError_test(const char *expr, const QScriptValue &value);
+
+ 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 isNumber_initData();
+ void isNumber_makeData(const char *expr);
+ void isNumber_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 isQMetaObject_initData();
+ void isQMetaObject_makeData(const char *expr);
+ void isQMetaObject_test(const char *expr, const QScriptValue &value);
+
+ void isQObject_initData();
+ void isQObject_makeData(const char *expr);
+ void isQObject_test(const char *expr, const QScriptValue &value);
+
+ void isRegExp_initData();
+ void isRegExp_makeData(const char *expr);
+ void isRegExp_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 isVariant_initData();
+ void isVariant_makeData(const char *expr);
+ void isVariant_test(const char *expr, const QScriptValue &value);
+
+ void toBool_initData();
+ void toBool_makeData(const char *);
+ void toBool_test(const char *, const QScriptValue &value);
+
+ void toBoolean_initData();
+ void toBoolean_makeData(const char *);
+ void toBoolean_test(const char *, const QScriptValue &value);
+
+ void toDateTime_initData();
+ void toDateTime_makeData(const char *);
+ void toDateTime_test(const char *, const QScriptValue &value);
+
+ void toInt32_initData();
+ void toInt32_makeData(const char *);
+ void toInt32_test(const char *, const QScriptValue &value);
+
+ void toInteger_initData();
+ void toInteger_makeData(const char *);
+ void toInteger_test(const char *, const QScriptValue &value);
+
+ void toNumber_initData();
+ void toNumber_makeData(const char *);
+ void toNumber_test(const char *, const QScriptValue &value);
+
+ void toQMetaObject_initData();
+ void toQMetaObject_makeData(const char *);
+ void toQMetaObject_test(const char *, const QScriptValue &value);
+
+ void toQObject_initData();
+ void toQObject_makeData(const char *);
+ void toQObject_test(const char *, const QScriptValue &value);
+
+ void toRegExp_initData();
+ void toRegExp_makeData(const char *);
+ void toRegExp_test(const char *, const QScriptValue &value);
+
+ void toString_initData();
+ void toString_makeData(const char *);
+ void toString_test(const char *, const QScriptValue &value);
+
+ void toUInt16_initData();
+ void toUInt16_makeData(const char *);
+ void toUInt16_test(const char *, const QScriptValue &value);
+
+ void toUInt32_initData();
+ void toUInt32_makeData(const char *);
+ void toUInt32_test(const char *, const QScriptValue &value);
+
+ void toVariant_initData();
+ void toVariant_makeData(const char *);
+ void toVariant_test(const char *, const QScriptValue &value);
+
+ void equals_initData();
+ void equals_makeData(const char *);
+ void equals_test(const char *, const QScriptValue &value);
+
+ void strictlyEquals_initData();
+ void strictlyEquals_makeData(const char *);
+ void strictlyEquals_test(const char *, const QScriptValue &value);
+
+ void lessThan_initData();
+ void lessThan_makeData(const char *);
+ void lessThan_test(const char *, const QScriptValue &value);
+
+ void instanceOf_initData();
+ void instanceOf_makeData(const char *);
+ void instanceOf_test(const char *, const QScriptValue &value);
+
+ void assignAndCopyConstruct_initData();
+ void assignAndCopyConstruct_makeData(const char *);
+ void assignAndCopyConstruct_test(const char *, const QScriptValue &value);
+
+ void qscriptvalue_castQString_initData();
+ void qscriptvalue_castQString_makeData(const char *);
+ void qscriptvalue_castQString_test(const char *, const QScriptValue &value);
+
+ void qscriptvalue_castqsreal_initData();
+ void qscriptvalue_castqsreal_makeData(const char *);
+ void qscriptvalue_castqsreal_test(const char *, const QScriptValue &value);
+
+ void qscriptvalue_castbool_initData();
+ void qscriptvalue_castbool_makeData(const char *);
+ void qscriptvalue_castbool_test(const char *, const QScriptValue &value);
+
+ void qscriptvalue_castqint32_initData();
+ void qscriptvalue_castqint32_makeData(const char *);
+ void qscriptvalue_castqint32_test(const char *, const QScriptValue &value);
+
+ void qscriptvalue_castquint32_initData();
+ void qscriptvalue_castquint32_makeData(const char *);
+ void qscriptvalue_castquint32_test(const char *, const QScriptValue &value);
+
+ void qscriptvalue_castquint16_initData();
+ void qscriptvalue_castquint16_makeData(const char *);
+ void qscriptvalue_castquint16_test(const char *, const QScriptValue &value);
+
+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
diff --git a/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp b/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp
new file mode 100644
index 0000000..1d105b4
--- /dev/null
+++ b/tests/auto/qscriptvalue/tst_qscriptvalue_generated.cpp
@@ -0,0 +1,6369 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the test suite of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** No Commercial Usage
+** This file contains pre-release code and may not be distributed.
+** You may use this file in accordance with the terms and conditions
+** contained in the Technology Preview License Agreement accompanying
+** this package.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain additional
+** rights. These rights are described in the Nokia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** If you have questions regarding the use of this file, please contact
+** Nokia at qt-info@nokia.com.
+**
+**
+**
+**
+**
+**
+**
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#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()"));
+}
+
+
+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()\")"
+ ;
+ }
+ newRow(expr) << isValid.contains(expr);
+}
+
+void tst_QScriptValue::isValid_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, 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)"
+ ;
+ }
+ newRow(expr) << isBool.contains(expr);
+}
+
+void tst_QScriptValue::isBool_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, 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)"
+ ;
+ }
+ newRow(expr) << isBoolean.contains(expr);
+}
+
+void tst_QScriptValue::isBoolean_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, 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())"
+ ;
+ }
+ newRow(expr) << isNumber.contains(expr);
+}
+
+void tst_QScriptValue::isNumber_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, 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);
+}
+
+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)"
+ ;
+ }
+ newRow(expr) << isNull.contains(expr);
+}
+
+void tst_QScriptValue::isNull_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, 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\"))"
+ ;
+ }
+ newRow(expr) << isString.contains(expr);
+}
+
+void tst_QScriptValue::isString_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, 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(\"{}\")"
+ ;
+ }
+ newRow(expr) << isUndefined.contains(expr);
+}
+
+void tst_QScriptValue::isUndefined_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, 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()\")"
+ ;
+ }
+ newRow(expr) << isObject.contains(expr);
+}
+
+void tst_QScriptValue::isObject_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isObject(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isObject)
+
+
+void tst_QScriptValue::isDate_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::isDate_makeData(const char* expr)
+{
+ static QSet<QString> isDate;
+ if (isDate.isEmpty()) {
+ isDate << "engine->evaluate(\"Date.prototype\")"
+ ;
+ }
+ newRow(expr) << isDate.contains(expr);
+}
+
+void tst_QScriptValue::isDate_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isDate(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isDate)
+
+
+void tst_QScriptValue::isRegExp_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::isRegExp_makeData(const char* expr)
+{
+ static QSet<QString> isRegExp;
+ if (isRegExp.isEmpty()) {
+ isRegExp << "engine->evaluate(\"/foo/\")"
+ ;
+ }
+ newRow(expr) << isRegExp.contains(expr);
+}
+
+void tst_QScriptValue::isRegExp_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isRegExp(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isRegExp)
+
+
+void tst_QScriptValue::isArray_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::isArray_makeData(const char* expr)
+{
+ static QSet<QString> isArray;
+ if (isArray.isEmpty()) {
+ isArray << "engine->evaluate(\"[]\")"
+ << "engine->evaluate(\"Array.prototype\")"
+ << "engine->evaluate(\"new Array()\")"
+ ;
+ }
+ newRow(expr) << isArray.contains(expr);
+}
+
+void tst_QScriptValue::isArray_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isArray(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isArray)
+
+
+void tst_QScriptValue::isError_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::isError_makeData(const char* expr)
+{
+ static QSet<QString> isError;
+ if (isError.isEmpty()) {
+ isError << "engine->evaluate(\"Error.prototype\")"
+ << "engine->evaluate(\"new Error()\")"
+ ;
+ }
+ newRow(expr) << isError.contains(expr);
+}
+
+void tst_QScriptValue::isError_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(value.isError(), expected);
+}
+
+DEFINE_TEST_FUNCTION(isError)
+
+
+
+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");
+ }
+ newRow(expr) << toString.value(expr);
+}
+
+void tst_QScriptValue::toString_test(const char*, const QScriptValue& value)
+{
+ QFETCH(QString, 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());
+ }
+ 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()));
+ return;
+ }
+ 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);
+ }
+ newRow(expr) << toBool.value(expr);
+}
+
+void tst_QScriptValue::toBool_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, 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);
+ }
+ newRow(expr) << toBoolean.value(expr);
+}
+
+void tst_QScriptValue::toBoolean_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, 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);
+ }
+ 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()));
+ return;
+ }
+ 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);
+ }
+ newRow(expr) << toInt32.value(expr);
+}
+
+void tst_QScriptValue::toInt32_test(const char*, const QScriptValue& value)
+{
+ QFETCH(qint32, 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);
+ }
+ newRow(expr) << toUInt32.value(expr);
+}
+
+void tst_QScriptValue::toUInt32_test(const char*, const QScriptValue& value)
+{
+ QFETCH(quint32, 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);
+ }
+ newRow(expr) << toUInt16.value(expr);
+}
+
+void tst_QScriptValue::toUInt16_test(const char*, const QScriptValue& value)
+{
+ QFETCH(quint16, expected);
+ QCOMPARE(value.toUInt16(), expected);
+}
+
+DEFINE_TEST_FUNCTION(toUInt16)
+
+
+void tst_QScriptValue::equals_initData()
+{
+ QTest::addColumn<QScriptValue>("other");
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::equals_makeData(const char *expr)
+{
+ static QSet<QString> equals;
+ if (equals.isEmpty()) {
+ equals.insert("QScriptValue() <=> QScriptValue()");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> engine->evaluate(\"{}\")");
+ equals.insert("QScriptValue(true) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(false) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(false) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(false) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(0) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(0) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(0.0) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(qInf()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(qInf()) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(qInf()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(qInf()) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(qInf()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(qInf()) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(-qInf())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(-qInf())");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, -qInf())");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -qInf())");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(0, false) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(0, 0) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(0, 0.0) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(-qInf())");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -qInf())");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -qInf())");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> engine->evaluate(\"{}\")");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(engine, false) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(engine, 0) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(engine, 0.0) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-qInf())");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -qInf())");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -qInf())");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(false)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0.0)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString())");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, false)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0.0)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString())");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, false)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0.0)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString())");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")");
+ equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(false)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0.0)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString())");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, false)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0.0)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString())");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, false)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0.0)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString())");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(false)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0.0)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString())");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, false)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0.0)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString())");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, false)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0.0)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString())");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")");
+ }
+ QHash<QString, QScriptValue>::const_iterator it;
+ for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
+ QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
+ newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
+ }
+}
+
+void tst_QScriptValue::equals_test(const char *, const QScriptValue& value)
+{
+ QFETCH(QScriptValue, other);
+ QFETCH(bool, expected);
+ QCOMPARE(value.equals(other), expected);
+}
+
+DEFINE_TEST_FUNCTION(equals)
+
+
+void tst_QScriptValue::strictlyEquals_initData()
+{
+ QTest::addColumn<QScriptValue>("other");
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::strictlyEquals_makeData(const char *expr)
+{
+ static QSet<QString> equals;
+ if (equals.isEmpty()) {
+ equals.insert("QScriptValue() <=> QScriptValue()");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(qInf()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(qInf()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(qInf()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(-qInf())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, -qInf())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, -qInf())");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(\"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(0, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, qInf()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(-qInf())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, -qInf())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, -qInf())");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::UndefinedValue) <=> engine->evaluate(\"{}\")");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, qInf()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(-qInf())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, -qInf())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -qInf())");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"[]\")");
+ equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(QScriptValue::UndefinedValue)");
+ equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(0, QScriptValue::UndefinedValue)");
+ equals.insert("engine->evaluate(\"{}\") <=> QScriptValue(engine, QScriptValue::UndefinedValue)");
+ equals.insert("engine->evaluate(\"{}\") <=> engine->evaluate(\"{}\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Date.prototype\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"/foo/\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Array()\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Error()\")");
+ }
+ QHash<QString, QScriptValue>::const_iterator it;
+ for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
+ QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
+ newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
+ }
+}
+
+void tst_QScriptValue::strictlyEquals_test(const char *, const QScriptValue& value)
+{
+ QFETCH(QScriptValue, other);
+ QFETCH(bool, expected);
+ QCOMPARE(value.strictlyEquals(other), expected);
+}
+
+DEFINE_TEST_FUNCTION(strictlyEquals)
+
+
+void tst_QScriptValue::lessThan_initData()
+{
+ QTest::addColumn<QScriptValue>("other");
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::lessThan_makeData(const char *expr)
+{
+ static QSet<QString> equals;
+ if (equals.isEmpty()) {
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(true) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(true) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(true) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(false) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(false) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(int(122)) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(uint(124)) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0.0) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(123.0) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(-6.37e-8) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0x43211234) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0x10000) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0x10001) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(-qInf()) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(-qInf()) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(\"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(\"NaN\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(\"Infinity\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(true)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(false)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"/foo/\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(\"-Infinity\") <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(\"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"/foo/\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(QString(\"\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(QString()) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"/foo/\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(QString()) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(QString(\"0\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(QString(\"123\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(QString(\"12.4\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, true) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, false) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, int(122)) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, uint(124)) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, 0) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, 123.0) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(0, -6.37e-8) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, 0x43211234) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, 0x10000) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, 0x10001) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(0, -qInf()) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(0, \"NaN\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(0, \"Infinity\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(false)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"/foo/\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(0, \"-Infinity\") <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(0, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(0, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"/foo/\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(0, QString(\"\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString()) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"/foo/\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(0, QString()) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(0, QString(\"0\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(0, QString(\"123\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(0, QString(\"12.3\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QScriptValue::NullValue) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, true) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, false) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, int(122)) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, uint(124)) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 0) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 0.0) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, 123.0) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, 6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(engine, -6.37e-8) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, 0x43211234) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, 0x10000) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, 0x10001) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(false)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString())");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"[]\")");
+ equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"Array.prototype\")");
+ equals.insert("QScriptValue(engine, -qInf()) <=> engine->evaluate(\"new Array()\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(engine, \"NaN\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(engine, \"Infinity\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(false)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0.0)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(-6.37e-8)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, false)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0.0)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, -6.37e-8)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QScriptValue::NullValue)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, false)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0.0)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, -6.37e-8)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"/foo/\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(engine, \"-Infinity\") <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(engine, \"ciao\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"/foo/\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(engine, QString(\"\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"-Infinity\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"/foo/\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(engine, QString()) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(true)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(6.37e-8)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, true)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, true)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(engine, QString(\"0\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(engine, QString(\"123\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(int(122))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(123.0)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(qInf())");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(\"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, int(122))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 123.0)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, 0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, qInf())");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, int(122))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, uint(124))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 123.0)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10000)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, 0x10001)");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, qInf())");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Object\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Array\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Number\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"Function\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Object()\")");
+ equals.insert("QScriptValue(engine, QString(\"1.23\")) <=> engine->evaluate(\"new Error()\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(true)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(int(122))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(uint(124))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(123.0)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(6.37e-8)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0x43211234)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0x10000)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0x10001)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(qInf())");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"NaN\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"-Infinity\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(\"ciao\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"0\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"123\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, true)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, int(122))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, uint(124))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 123.0)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0x43211234)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10000)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, 0x10001)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, qInf())");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, true)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, int(122))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, uint(124))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 123.0)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10000)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, 0x10001)");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, qInf())");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"/foo/\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"new Error()\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(\"ciao\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"Object.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(true)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(int(122))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(uint(124))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(123.0)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(6.37e-8)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x43211234)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10000)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0x10001)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(qInf())");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"NaN\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"-Infinity\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(\"ciao\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"0\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"123\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, true)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, int(122))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, uint(124))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 123.0)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x43211234)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10000)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, 0x10001)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, qInf())");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, true)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, int(122))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, uint(124))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 123.0)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10000)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, 0x10001)");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, qInf())");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"/foo/\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"new Error()\")");
+ equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"NaN\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(\"ciao\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(\"NaN\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(\"ciao\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"0\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"123\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"new Error()\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(\"ciao\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(true)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(int(122))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(uint(124))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(123.0)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(6.37e-8)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0x43211234)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0x10000)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0x10001)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(qInf())");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"NaN\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"-Infinity\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(\"ciao\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"0\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"123\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(QString(\"12.4\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, true)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, int(122))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, uint(124))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 123.0)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 6.37e-8)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x43211234)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10000)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, 0x10001)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, qInf())");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"-Infinity\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"0\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"123\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(0, QString(\"12.3\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, true)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, int(122))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, uint(124))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 123.0)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 6.37e-8)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x43211234)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10000)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, 0x10001)");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, qInf())");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"-Infinity\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"0\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"123\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> QScriptValue(engine, QString(\"1.23\"))");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Error.prototype\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"/foo/\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Object()\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"new Error()\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(\"NaN\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(\"Infinity\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(\"ciao\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"NaN\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"Infinity\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, \"ciao\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(0, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"NaN\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"Infinity\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, \"ciao\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> QScriptValue(engine, QString::fromLatin1(\"ciao\"))");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object.prototype\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function.prototype\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Number\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 1; })\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { return 'ciao'; })\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"(function() { throw new Error('foo'); })\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"new Object()\")");
+ }
+ QHash<QString, QScriptValue>::const_iterator it;
+ for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
+ QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
+ newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
+ }
+}
+
+void tst_QScriptValue::lessThan_test(const char *, const QScriptValue& value)
+{
+ QFETCH(QScriptValue, other);
+ QFETCH(bool, expected);
+ QCOMPARE(value.lessThan(other), expected);
+}
+
+DEFINE_TEST_FUNCTION(lessThan)
+
+
+void tst_QScriptValue::instanceOf_initData()
+{
+ QTest::addColumn<QScriptValue>("other");
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::instanceOf_makeData(const char *expr)
+{
+ static QSet<QString> equals;
+ if (equals.isEmpty()) {
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"[]\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"Date.prototype\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Array.prototype\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Function.prototype\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Error.prototype\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Object\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Array\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Number\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"Function\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"(function() { return 1; })\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"(function() { return 'ciao'; })\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\") <=> engine->evaluate(\"Function\")");
+ equals.insert("engine->evaluate(\"/foo/\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"new Object()\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Object\")");
+ equals.insert("engine->evaluate(\"new Array()\") <=> engine->evaluate(\"Array\")");
+ equals.insert("engine->evaluate(\"new Error()\") <=> engine->evaluate(\"Object\")");
+ }
+ QHash<QString, QScriptValue>::const_iterator it;
+ for (it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
+ QString tag = QString::fromLatin1("%20 <=> %21").arg(expr).arg(it.key());
+ newRow(tag.toLatin1()) << it.value() << equals.contains(tag);
+ }
+}
+
+void tst_QScriptValue::instanceOf_test(const char *, const QScriptValue& value)
+{
+ QFETCH(QScriptValue, other);
+ QFETCH(bool, expected);
+ QCOMPARE(value.instanceOf(other), expected);
+}
+
+DEFINE_TEST_FUNCTION(instanceOf)
+
+
+void tst_QScriptValue::qscriptvalue_castQString_initData()
+{
+ QTest::addColumn<QString>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::qscriptvalue_castQString_makeData(const char* expr)
+{
+ static QHash<QString, QString> value;
+ if (value.isEmpty()) {
+ value.insert("QScriptValue()", "");
+ value.insert("QScriptValue(QScriptValue::UndefinedValue)", "");
+ value.insert("QScriptValue(QScriptValue::NullValue)", "");
+ value.insert("QScriptValue(true)", "true");
+ value.insert("QScriptValue(false)", "false");
+ value.insert("QScriptValue(int(122))", "122");
+ value.insert("QScriptValue(uint(124))", "124");
+ value.insert("QScriptValue(0)", "0");
+ value.insert("QScriptValue(0.0)", "0");
+ value.insert("QScriptValue(123.0)", "123");
+ value.insert("QScriptValue(6.37e-8)", "6.37e-8");
+ value.insert("QScriptValue(-6.37e-8)", "-6.37e-8");
+ value.insert("QScriptValue(0x43211234)", "1126240820");
+ value.insert("QScriptValue(0x10000)", "65536");
+ value.insert("QScriptValue(0x10001)", "65537");
+ value.insert("QScriptValue(qSNaN())", "NaN");
+ value.insert("QScriptValue(qQNaN())", "NaN");
+ value.insert("QScriptValue(qInf())", "Infinity");
+ value.insert("QScriptValue(-qInf())", "-Infinity");
+ value.insert("QScriptValue(\"NaN\")", "NaN");
+ value.insert("QScriptValue(\"Infinity\")", "Infinity");
+ value.insert("QScriptValue(\"-Infinity\")", "-Infinity");
+ value.insert("QScriptValue(\"ciao\")", "ciao");
+ value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", "ciao");
+ value.insert("QScriptValue(QString(\"\"))", "");
+ value.insert("QScriptValue(QString())", "");
+ value.insert("QScriptValue(QString(\"0\"))", "0");
+ value.insert("QScriptValue(QString(\"123\"))", "123");
+ value.insert("QScriptValue(QString(\"12.4\"))", "12.4");
+ value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", "");
+ value.insert("QScriptValue(0, QScriptValue::NullValue)", "");
+ value.insert("QScriptValue(0, true)", "true");
+ value.insert("QScriptValue(0, false)", "false");
+ value.insert("QScriptValue(0, int(122))", "122");
+ value.insert("QScriptValue(0, uint(124))", "124");
+ value.insert("QScriptValue(0, 0)", "0");
+ value.insert("QScriptValue(0, 0.0)", "0");
+ value.insert("QScriptValue(0, 123.0)", "123");
+ value.insert("QScriptValue(0, 6.37e-8)", "6.37e-8");
+ value.insert("QScriptValue(0, -6.37e-8)", "-6.37e-8");
+ value.insert("QScriptValue(0, 0x43211234)", "1126240820");
+ value.insert("QScriptValue(0, 0x10000)", "65536");
+ value.insert("QScriptValue(0, 0x10001)", "65537");
+ value.insert("QScriptValue(0, qSNaN())", "NaN");
+ value.insert("QScriptValue(0, qQNaN())", "NaN");
+ value.insert("QScriptValue(0, qInf())", "Infinity");
+ value.insert("QScriptValue(0, -qInf())", "-Infinity");
+ value.insert("QScriptValue(0, \"NaN\")", "NaN");
+ value.insert("QScriptValue(0, \"Infinity\")", "Infinity");
+ value.insert("QScriptValue(0, \"-Infinity\")", "-Infinity");
+ value.insert("QScriptValue(0, \"ciao\")", "ciao");
+ value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", "ciao");
+ value.insert("QScriptValue(0, QString(\"\"))", "");
+ value.insert("QScriptValue(0, QString())", "");
+ value.insert("QScriptValue(0, QString(\"0\"))", "0");
+ value.insert("QScriptValue(0, QString(\"123\"))", "123");
+ value.insert("QScriptValue(0, QString(\"12.3\"))", "12.3");
+ value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", "");
+ value.insert("QScriptValue(engine, QScriptValue::NullValue)", "");
+ value.insert("QScriptValue(engine, true)", "true");
+ value.insert("QScriptValue(engine, false)", "false");
+ value.insert("QScriptValue(engine, int(122))", "122");
+ value.insert("QScriptValue(engine, uint(124))", "124");
+ value.insert("QScriptValue(engine, 0)", "0");
+ value.insert("QScriptValue(engine, 0.0)", "0");
+ value.insert("QScriptValue(engine, 123.0)", "123");
+ value.insert("QScriptValue(engine, 6.37e-8)", "6.37e-8");
+ value.insert("QScriptValue(engine, -6.37e-8)", "-6.37e-8");
+ value.insert("QScriptValue(engine, 0x43211234)", "1126240820");
+ value.insert("QScriptValue(engine, 0x10000)", "65536");
+ value.insert("QScriptValue(engine, 0x10001)", "65537");
+ value.insert("QScriptValue(engine, qSNaN())", "NaN");
+ value.insert("QScriptValue(engine, qQNaN())", "NaN");
+ value.insert("QScriptValue(engine, qInf())", "Infinity");
+ value.insert("QScriptValue(engine, -qInf())", "-Infinity");
+ value.insert("QScriptValue(engine, \"NaN\")", "NaN");
+ value.insert("QScriptValue(engine, \"Infinity\")", "Infinity");
+ value.insert("QScriptValue(engine, \"-Infinity\")", "-Infinity");
+ value.insert("QScriptValue(engine, \"ciao\")", "ciao");
+ value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", "ciao");
+ value.insert("QScriptValue(engine, QString(\"\"))", "");
+ value.insert("QScriptValue(engine, QString())", "");
+ value.insert("QScriptValue(engine, QString(\"0\"))", "0");
+ value.insert("QScriptValue(engine, QString(\"123\"))", "123");
+ value.insert("QScriptValue(engine, QString(\"1.23\"))", "1.23");
+ value.insert("engine->evaluate(\"[]\")", "");
+ value.insert("engine->evaluate(\"{}\")", "");
+ value.insert("engine->evaluate(\"Object.prototype\")", "[object Object]");
+ value.insert("engine->evaluate(\"Date.prototype\")", "Invalid Date");
+ value.insert("engine->evaluate(\"Array.prototype\")", "");
+ value.insert("engine->evaluate(\"Function.prototype\")", "function () {\n [native code]\n}");
+ value.insert("engine->evaluate(\"Error.prototype\")", "Error: Unknown error");
+ value.insert("engine->evaluate(\"Object\")", "function Object() {\n [native code]\n}");
+ value.insert("engine->evaluate(\"Array\")", "function Array() {\n [native code]\n}");
+ value.insert("engine->evaluate(\"Number\")", "function Number() {\n [native code]\n}");
+ value.insert("engine->evaluate(\"Function\")", "function Function() {\n [native code]\n}");
+ value.insert("engine->evaluate(\"(function() { return 1; })\")", "function () { return 1; }");
+ value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", "function () { return 'ciao'; }");
+ value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", "function () { throw new Error('foo'); }");
+ value.insert("engine->evaluate(\"/foo/\")", "/foo/");
+ value.insert("engine->evaluate(\"new Object()\")", "[object Object]");
+ value.insert("engine->evaluate(\"new Array()\")", "");
+ value.insert("engine->evaluate(\"new Error()\")", "Error: Unknown error");
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castQString_test(const char*, const QScriptValue& value)
+{
+ QFETCH(QString, expected);
+ QCOMPARE(qscriptvalue_cast<QString>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castQString)
+
+
+void tst_QScriptValue::qscriptvalue_castqsreal_initData()
+{
+ QTest::addColumn<qsreal>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::qscriptvalue_castqsreal_makeData(const char* expr)
+{
+ static QHash<QString, qsreal> value;
+ if (value.isEmpty()) {
+ value.insert("QScriptValue()", 0);
+ value.insert("QScriptValue(QScriptValue::UndefinedValue)", qQNaN());
+ value.insert("QScriptValue(QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(true)", 1);
+ value.insert("QScriptValue(false)", 0);
+ value.insert("QScriptValue(int(122))", 122);
+ value.insert("QScriptValue(uint(124))", 124);
+ value.insert("QScriptValue(0)", 0);
+ value.insert("QScriptValue(0.0)", 0);
+ value.insert("QScriptValue(123.0)", 123);
+ value.insert("QScriptValue(6.37e-8)", 6.369999999999999e-08);
+ value.insert("QScriptValue(-6.37e-8)", -6.369999999999999e-08);
+ value.insert("QScriptValue(0x43211234)", 1126240820);
+ value.insert("QScriptValue(0x10000)", 65536);
+ value.insert("QScriptValue(0x10001)", 65537);
+ value.insert("QScriptValue(qSNaN())", qQNaN());
+ value.insert("QScriptValue(qQNaN())", qQNaN());
+ value.insert("QScriptValue(qInf())", qInf());
+ value.insert("QScriptValue(-qInf())", qInf());
+ value.insert("QScriptValue(\"NaN\")", qQNaN());
+ value.insert("QScriptValue(\"Infinity\")", qInf());
+ value.insert("QScriptValue(\"-Infinity\")", qInf());
+ value.insert("QScriptValue(\"ciao\")", qQNaN());
+ value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", qQNaN());
+ value.insert("QScriptValue(QString(\"\"))", 0);
+ value.insert("QScriptValue(QString())", 0);
+ value.insert("QScriptValue(QString(\"0\"))", 0);
+ value.insert("QScriptValue(QString(\"123\"))", 123);
+ value.insert("QScriptValue(QString(\"12.4\"))", 12.4);
+ value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", qQNaN());
+ value.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(0, true)", 1);
+ value.insert("QScriptValue(0, false)", 0);
+ value.insert("QScriptValue(0, int(122))", 122);
+ value.insert("QScriptValue(0, uint(124))", 124);
+ value.insert("QScriptValue(0, 0)", 0);
+ value.insert("QScriptValue(0, 0.0)", 0);
+ value.insert("QScriptValue(0, 123.0)", 123);
+ value.insert("QScriptValue(0, 6.37e-8)", 6.369999999999999e-08);
+ value.insert("QScriptValue(0, -6.37e-8)", -6.369999999999999e-08);
+ value.insert("QScriptValue(0, 0x43211234)", 1126240820);
+ value.insert("QScriptValue(0, 0x10000)", 65536);
+ value.insert("QScriptValue(0, 0x10001)", 65537);
+ value.insert("QScriptValue(0, qSNaN())", qQNaN());
+ value.insert("QScriptValue(0, qQNaN())", qQNaN());
+ value.insert("QScriptValue(0, qInf())", qInf());
+ value.insert("QScriptValue(0, -qInf())", qInf());
+ value.insert("QScriptValue(0, \"NaN\")", qQNaN());
+ value.insert("QScriptValue(0, \"Infinity\")", qInf());
+ value.insert("QScriptValue(0, \"-Infinity\")", qInf());
+ value.insert("QScriptValue(0, \"ciao\")", qQNaN());
+ value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", qQNaN());
+ value.insert("QScriptValue(0, QString(\"\"))", 0);
+ value.insert("QScriptValue(0, QString())", 0);
+ value.insert("QScriptValue(0, QString(\"0\"))", 0);
+ value.insert("QScriptValue(0, QString(\"123\"))", 123);
+ value.insert("QScriptValue(0, QString(\"12.3\"))", 12.3);
+ value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", qQNaN());
+ value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(engine, true)", 1);
+ value.insert("QScriptValue(engine, false)", 0);
+ value.insert("QScriptValue(engine, int(122))", 122);
+ value.insert("QScriptValue(engine, uint(124))", 124);
+ value.insert("QScriptValue(engine, 0)", 0);
+ value.insert("QScriptValue(engine, 0.0)", 0);
+ value.insert("QScriptValue(engine, 123.0)", 123);
+ value.insert("QScriptValue(engine, 6.37e-8)", 6.369999999999999e-08);
+ value.insert("QScriptValue(engine, -6.37e-8)", -6.369999999999999e-08);
+ value.insert("QScriptValue(engine, 0x43211234)", 1126240820);
+ value.insert("QScriptValue(engine, 0x10000)", 65536);
+ value.insert("QScriptValue(engine, 0x10001)", 65537);
+ value.insert("QScriptValue(engine, qSNaN())", qQNaN());
+ value.insert("QScriptValue(engine, qQNaN())", qQNaN());
+ value.insert("QScriptValue(engine, qInf())", qInf());
+ value.insert("QScriptValue(engine, -qInf())", qInf());
+ value.insert("QScriptValue(engine, \"NaN\")", qQNaN());
+ value.insert("QScriptValue(engine, \"Infinity\")", qInf());
+ value.insert("QScriptValue(engine, \"-Infinity\")", qInf());
+ value.insert("QScriptValue(engine, \"ciao\")", qQNaN());
+ value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", qQNaN());
+ value.insert("QScriptValue(engine, QString(\"\"))", 0);
+ value.insert("QScriptValue(engine, QString())", 0);
+ value.insert("QScriptValue(engine, QString(\"0\"))", 0);
+ value.insert("QScriptValue(engine, QString(\"123\"))", 123);
+ value.insert("QScriptValue(engine, QString(\"1.23\"))", 1.23);
+ value.insert("engine->evaluate(\"[]\")", 0);
+ value.insert("engine->evaluate(\"{}\")", qQNaN());
+ value.insert("engine->evaluate(\"Object.prototype\")", qQNaN());
+ value.insert("engine->evaluate(\"Date.prototype\")", qQNaN());
+ value.insert("engine->evaluate(\"Array.prototype\")", 0);
+ value.insert("engine->evaluate(\"Function.prototype\")", qQNaN());
+ value.insert("engine->evaluate(\"Error.prototype\")", qQNaN());
+ value.insert("engine->evaluate(\"Object\")", qQNaN());
+ value.insert("engine->evaluate(\"Array\")", qQNaN());
+ value.insert("engine->evaluate(\"Number\")", qQNaN());
+ value.insert("engine->evaluate(\"Function\")", qQNaN());
+ value.insert("engine->evaluate(\"(function() { return 1; })\")", qQNaN());
+ value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", qQNaN());
+ value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", qQNaN());
+ value.insert("engine->evaluate(\"/foo/\")", qQNaN());
+ value.insert("engine->evaluate(\"new Object()\")", qQNaN());
+ value.insert("engine->evaluate(\"new Array()\")", 0);
+ value.insert("engine->evaluate(\"new Error()\")", qQNaN());
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castqsreal_test(const char*, const QScriptValue& value)
+{
+ QFETCH(qsreal, expected);
+ if (qIsNaN(expected)) {
+ QVERIFY(qIsNaN(qscriptvalue_cast<qsreal>(value)));
+ return;
+ }
+ if (qIsInf(expected)) {
+ QVERIFY(qIsInf(qscriptvalue_cast<qsreal>(value)));
+ return;
+ }
+ QCOMPARE(qscriptvalue_cast<qsreal>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castqsreal)
+
+
+void tst_QScriptValue::qscriptvalue_castbool_initData()
+{
+ QTest::addColumn<bool>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::qscriptvalue_castbool_makeData(const char* expr)
+{
+ static QHash<QString, bool> value;
+ if (value.isEmpty()) {
+ value.insert("QScriptValue()", false);
+ value.insert("QScriptValue(QScriptValue::UndefinedValue)", false);
+ value.insert("QScriptValue(QScriptValue::NullValue)", false);
+ value.insert("QScriptValue(true)", true);
+ value.insert("QScriptValue(false)", false);
+ value.insert("QScriptValue(int(122))", true);
+ value.insert("QScriptValue(uint(124))", true);
+ value.insert("QScriptValue(0)", false);
+ value.insert("QScriptValue(0.0)", false);
+ value.insert("QScriptValue(123.0)", true);
+ value.insert("QScriptValue(6.37e-8)", true);
+ value.insert("QScriptValue(-6.37e-8)", true);
+ value.insert("QScriptValue(0x43211234)", true);
+ value.insert("QScriptValue(0x10000)", true);
+ value.insert("QScriptValue(0x10001)", true);
+ value.insert("QScriptValue(qSNaN())", false);
+ value.insert("QScriptValue(qQNaN())", false);
+ value.insert("QScriptValue(qInf())", true);
+ value.insert("QScriptValue(-qInf())", true);
+ value.insert("QScriptValue(\"NaN\")", true);
+ value.insert("QScriptValue(\"Infinity\")", true);
+ value.insert("QScriptValue(\"-Infinity\")", true);
+ value.insert("QScriptValue(\"ciao\")", true);
+ value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", true);
+ value.insert("QScriptValue(QString(\"\"))", false);
+ value.insert("QScriptValue(QString())", false);
+ value.insert("QScriptValue(QString(\"0\"))", true);
+ value.insert("QScriptValue(QString(\"123\"))", true);
+ value.insert("QScriptValue(QString(\"12.4\"))", true);
+ value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", false);
+ value.insert("QScriptValue(0, QScriptValue::NullValue)", false);
+ value.insert("QScriptValue(0, true)", true);
+ value.insert("QScriptValue(0, false)", false);
+ value.insert("QScriptValue(0, int(122))", true);
+ value.insert("QScriptValue(0, uint(124))", true);
+ value.insert("QScriptValue(0, 0)", false);
+ value.insert("QScriptValue(0, 0.0)", false);
+ value.insert("QScriptValue(0, 123.0)", true);
+ value.insert("QScriptValue(0, 6.37e-8)", true);
+ value.insert("QScriptValue(0, -6.37e-8)", true);
+ value.insert("QScriptValue(0, 0x43211234)", true);
+ value.insert("QScriptValue(0, 0x10000)", true);
+ value.insert("QScriptValue(0, 0x10001)", true);
+ value.insert("QScriptValue(0, qSNaN())", false);
+ value.insert("QScriptValue(0, qQNaN())", false);
+ value.insert("QScriptValue(0, qInf())", true);
+ value.insert("QScriptValue(0, -qInf())", true);
+ value.insert("QScriptValue(0, \"NaN\")", true);
+ value.insert("QScriptValue(0, \"Infinity\")", true);
+ value.insert("QScriptValue(0, \"-Infinity\")", true);
+ value.insert("QScriptValue(0, \"ciao\")", true);
+ value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", true);
+ value.insert("QScriptValue(0, QString(\"\"))", false);
+ value.insert("QScriptValue(0, QString())", false);
+ value.insert("QScriptValue(0, QString(\"0\"))", true);
+ value.insert("QScriptValue(0, QString(\"123\"))", true);
+ value.insert("QScriptValue(0, QString(\"12.3\"))", true);
+ value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", false);
+ value.insert("QScriptValue(engine, QScriptValue::NullValue)", false);
+ value.insert("QScriptValue(engine, true)", true);
+ value.insert("QScriptValue(engine, false)", false);
+ value.insert("QScriptValue(engine, int(122))", true);
+ value.insert("QScriptValue(engine, uint(124))", true);
+ value.insert("QScriptValue(engine, 0)", false);
+ value.insert("QScriptValue(engine, 0.0)", false);
+ value.insert("QScriptValue(engine, 123.0)", true);
+ value.insert("QScriptValue(engine, 6.37e-8)", true);
+ value.insert("QScriptValue(engine, -6.37e-8)", true);
+ value.insert("QScriptValue(engine, 0x43211234)", true);
+ value.insert("QScriptValue(engine, 0x10000)", true);
+ value.insert("QScriptValue(engine, 0x10001)", true);
+ value.insert("QScriptValue(engine, qSNaN())", false);
+ value.insert("QScriptValue(engine, qQNaN())", false);
+ value.insert("QScriptValue(engine, qInf())", true);
+ value.insert("QScriptValue(engine, -qInf())", true);
+ value.insert("QScriptValue(engine, \"NaN\")", true);
+ value.insert("QScriptValue(engine, \"Infinity\")", true);
+ value.insert("QScriptValue(engine, \"-Infinity\")", true);
+ value.insert("QScriptValue(engine, \"ciao\")", true);
+ value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", true);
+ value.insert("QScriptValue(engine, QString(\"\"))", false);
+ value.insert("QScriptValue(engine, QString())", false);
+ value.insert("QScriptValue(engine, QString(\"0\"))", true);
+ value.insert("QScriptValue(engine, QString(\"123\"))", true);
+ value.insert("QScriptValue(engine, QString(\"1.23\"))", true);
+ value.insert("engine->evaluate(\"[]\")", true);
+ value.insert("engine->evaluate(\"{}\")", false);
+ value.insert("engine->evaluate(\"Object.prototype\")", true);
+ value.insert("engine->evaluate(\"Date.prototype\")", true);
+ value.insert("engine->evaluate(\"Array.prototype\")", true);
+ value.insert("engine->evaluate(\"Function.prototype\")", true);
+ value.insert("engine->evaluate(\"Error.prototype\")", true);
+ value.insert("engine->evaluate(\"Object\")", true);
+ value.insert("engine->evaluate(\"Array\")", true);
+ value.insert("engine->evaluate(\"Number\")", true);
+ value.insert("engine->evaluate(\"Function\")", true);
+ value.insert("engine->evaluate(\"(function() { return 1; })\")", true);
+ value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", true);
+ value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", true);
+ value.insert("engine->evaluate(\"/foo/\")", true);
+ value.insert("engine->evaluate(\"new Object()\")", true);
+ value.insert("engine->evaluate(\"new Array()\")", true);
+ value.insert("engine->evaluate(\"new Error()\")", true);
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castbool_test(const char*, const QScriptValue& value)
+{
+ QFETCH(bool, expected);
+ QCOMPARE(qscriptvalue_cast<bool>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castbool)
+
+
+void tst_QScriptValue::qscriptvalue_castqint32_initData()
+{
+ QTest::addColumn<qint32>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::qscriptvalue_castqint32_makeData(const char* expr)
+{
+ static QHash<QString, qint32> value;
+ if (value.isEmpty()) {
+ value.insert("QScriptValue()", 0);
+ value.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
+ value.insert("QScriptValue(QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(true)", 1);
+ value.insert("QScriptValue(false)", 0);
+ value.insert("QScriptValue(int(122))", 122);
+ value.insert("QScriptValue(uint(124))", 124);
+ value.insert("QScriptValue(0)", 0);
+ value.insert("QScriptValue(0.0)", 0);
+ value.insert("QScriptValue(123.0)", 123);
+ value.insert("QScriptValue(6.37e-8)", 0);
+ value.insert("QScriptValue(-6.37e-8)", 0);
+ value.insert("QScriptValue(0x43211234)", 1126240820);
+ value.insert("QScriptValue(0x10000)", 65536);
+ value.insert("QScriptValue(0x10001)", 65537);
+ value.insert("QScriptValue(qSNaN())", 0);
+ value.insert("QScriptValue(qQNaN())", 0);
+ value.insert("QScriptValue(qInf())", 0);
+ value.insert("QScriptValue(-qInf())", 0);
+ value.insert("QScriptValue(\"NaN\")", 0);
+ value.insert("QScriptValue(\"Infinity\")", 0);
+ value.insert("QScriptValue(\"-Infinity\")", 0);
+ value.insert("QScriptValue(\"ciao\")", 0);
+ value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
+ value.insert("QScriptValue(QString(\"\"))", 0);
+ value.insert("QScriptValue(QString())", 0);
+ value.insert("QScriptValue(QString(\"0\"))", 0);
+ value.insert("QScriptValue(QString(\"123\"))", 123);
+ value.insert("QScriptValue(QString(\"12.4\"))", 12);
+ value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
+ value.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(0, true)", 1);
+ value.insert("QScriptValue(0, false)", 0);
+ value.insert("QScriptValue(0, int(122))", 122);
+ value.insert("QScriptValue(0, uint(124))", 124);
+ value.insert("QScriptValue(0, 0)", 0);
+ value.insert("QScriptValue(0, 0.0)", 0);
+ value.insert("QScriptValue(0, 123.0)", 123);
+ value.insert("QScriptValue(0, 6.37e-8)", 0);
+ value.insert("QScriptValue(0, -6.37e-8)", 0);
+ value.insert("QScriptValue(0, 0x43211234)", 1126240820);
+ value.insert("QScriptValue(0, 0x10000)", 65536);
+ value.insert("QScriptValue(0, 0x10001)", 65537);
+ value.insert("QScriptValue(0, qSNaN())", 0);
+ value.insert("QScriptValue(0, qQNaN())", 0);
+ value.insert("QScriptValue(0, qInf())", 0);
+ value.insert("QScriptValue(0, -qInf())", 0);
+ value.insert("QScriptValue(0, \"NaN\")", 0);
+ value.insert("QScriptValue(0, \"Infinity\")", 0);
+ value.insert("QScriptValue(0, \"-Infinity\")", 0);
+ value.insert("QScriptValue(0, \"ciao\")", 0);
+ value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
+ value.insert("QScriptValue(0, QString(\"\"))", 0);
+ value.insert("QScriptValue(0, QString())", 0);
+ value.insert("QScriptValue(0, QString(\"0\"))", 0);
+ value.insert("QScriptValue(0, QString(\"123\"))", 123);
+ value.insert("QScriptValue(0, QString(\"12.3\"))", 12);
+ value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
+ value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(engine, true)", 1);
+ value.insert("QScriptValue(engine, false)", 0);
+ value.insert("QScriptValue(engine, int(122))", 122);
+ value.insert("QScriptValue(engine, uint(124))", 124);
+ value.insert("QScriptValue(engine, 0)", 0);
+ value.insert("QScriptValue(engine, 0.0)", 0);
+ value.insert("QScriptValue(engine, 123.0)", 123);
+ value.insert("QScriptValue(engine, 6.37e-8)", 0);
+ value.insert("QScriptValue(engine, -6.37e-8)", 0);
+ value.insert("QScriptValue(engine, 0x43211234)", 1126240820);
+ value.insert("QScriptValue(engine, 0x10000)", 65536);
+ value.insert("QScriptValue(engine, 0x10001)", 65537);
+ value.insert("QScriptValue(engine, qSNaN())", 0);
+ value.insert("QScriptValue(engine, qQNaN())", 0);
+ value.insert("QScriptValue(engine, qInf())", 0);
+ value.insert("QScriptValue(engine, -qInf())", 0);
+ value.insert("QScriptValue(engine, \"NaN\")", 0);
+ value.insert("QScriptValue(engine, \"Infinity\")", 0);
+ value.insert("QScriptValue(engine, \"-Infinity\")", 0);
+ value.insert("QScriptValue(engine, \"ciao\")", 0);
+ value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
+ value.insert("QScriptValue(engine, QString(\"\"))", 0);
+ value.insert("QScriptValue(engine, QString())", 0);
+ value.insert("QScriptValue(engine, QString(\"0\"))", 0);
+ value.insert("QScriptValue(engine, QString(\"123\"))", 123);
+ value.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
+ value.insert("engine->evaluate(\"[]\")", 0);
+ value.insert("engine->evaluate(\"{}\")", 0);
+ value.insert("engine->evaluate(\"Object.prototype\")", 0);
+ value.insert("engine->evaluate(\"Date.prototype\")", 0);
+ value.insert("engine->evaluate(\"Array.prototype\")", 0);
+ value.insert("engine->evaluate(\"Function.prototype\")", 0);
+ value.insert("engine->evaluate(\"Error.prototype\")", 0);
+ value.insert("engine->evaluate(\"Object\")", 0);
+ value.insert("engine->evaluate(\"Array\")", 0);
+ value.insert("engine->evaluate(\"Number\")", 0);
+ value.insert("engine->evaluate(\"Function\")", 0);
+ value.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
+ value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
+ value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
+ value.insert("engine->evaluate(\"/foo/\")", 0);
+ value.insert("engine->evaluate(\"new Object()\")", 0);
+ value.insert("engine->evaluate(\"new Array()\")", 0);
+ value.insert("engine->evaluate(\"new Error()\")", 0);
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castqint32_test(const char*, const QScriptValue& value)
+{
+ QFETCH(qint32, expected);
+ QCOMPARE(qscriptvalue_cast<qint32>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castqint32)
+
+
+void tst_QScriptValue::qscriptvalue_castquint32_initData()
+{
+ QTest::addColumn<quint32>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::qscriptvalue_castquint32_makeData(const char* expr)
+{
+ static QHash<QString, quint32> value;
+ if (value.isEmpty()) {
+ value.insert("QScriptValue()", 0);
+ value.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
+ value.insert("QScriptValue(QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(true)", 1);
+ value.insert("QScriptValue(false)", 0);
+ value.insert("QScriptValue(int(122))", 122);
+ value.insert("QScriptValue(uint(124))", 124);
+ value.insert("QScriptValue(0)", 0);
+ value.insert("QScriptValue(0.0)", 0);
+ value.insert("QScriptValue(123.0)", 123);
+ value.insert("QScriptValue(6.37e-8)", 0);
+ value.insert("QScriptValue(-6.37e-8)", 0);
+ value.insert("QScriptValue(0x43211234)", 1126240820);
+ value.insert("QScriptValue(0x10000)", 65536);
+ value.insert("QScriptValue(0x10001)", 65537);
+ value.insert("QScriptValue(qSNaN())", 0);
+ value.insert("QScriptValue(qQNaN())", 0);
+ value.insert("QScriptValue(qInf())", 0);
+ value.insert("QScriptValue(-qInf())", 0);
+ value.insert("QScriptValue(\"NaN\")", 0);
+ value.insert("QScriptValue(\"Infinity\")", 0);
+ value.insert("QScriptValue(\"-Infinity\")", 0);
+ value.insert("QScriptValue(\"ciao\")", 0);
+ value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
+ value.insert("QScriptValue(QString(\"\"))", 0);
+ value.insert("QScriptValue(QString())", 0);
+ value.insert("QScriptValue(QString(\"0\"))", 0);
+ value.insert("QScriptValue(QString(\"123\"))", 123);
+ value.insert("QScriptValue(QString(\"12.4\"))", 12);
+ value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
+ value.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(0, true)", 1);
+ value.insert("QScriptValue(0, false)", 0);
+ value.insert("QScriptValue(0, int(122))", 122);
+ value.insert("QScriptValue(0, uint(124))", 124);
+ value.insert("QScriptValue(0, 0)", 0);
+ value.insert("QScriptValue(0, 0.0)", 0);
+ value.insert("QScriptValue(0, 123.0)", 123);
+ value.insert("QScriptValue(0, 6.37e-8)", 0);
+ value.insert("QScriptValue(0, -6.37e-8)", 0);
+ value.insert("QScriptValue(0, 0x43211234)", 1126240820);
+ value.insert("QScriptValue(0, 0x10000)", 65536);
+ value.insert("QScriptValue(0, 0x10001)", 65537);
+ value.insert("QScriptValue(0, qSNaN())", 0);
+ value.insert("QScriptValue(0, qQNaN())", 0);
+ value.insert("QScriptValue(0, qInf())", 0);
+ value.insert("QScriptValue(0, -qInf())", 0);
+ value.insert("QScriptValue(0, \"NaN\")", 0);
+ value.insert("QScriptValue(0, \"Infinity\")", 0);
+ value.insert("QScriptValue(0, \"-Infinity\")", 0);
+ value.insert("QScriptValue(0, \"ciao\")", 0);
+ value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
+ value.insert("QScriptValue(0, QString(\"\"))", 0);
+ value.insert("QScriptValue(0, QString())", 0);
+ value.insert("QScriptValue(0, QString(\"0\"))", 0);
+ value.insert("QScriptValue(0, QString(\"123\"))", 123);
+ value.insert("QScriptValue(0, QString(\"12.3\"))", 12);
+ value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
+ value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(engine, true)", 1);
+ value.insert("QScriptValue(engine, false)", 0);
+ value.insert("QScriptValue(engine, int(122))", 122);
+ value.insert("QScriptValue(engine, uint(124))", 124);
+ value.insert("QScriptValue(engine, 0)", 0);
+ value.insert("QScriptValue(engine, 0.0)", 0);
+ value.insert("QScriptValue(engine, 123.0)", 123);
+ value.insert("QScriptValue(engine, 6.37e-8)", 0);
+ value.insert("QScriptValue(engine, -6.37e-8)", 0);
+ value.insert("QScriptValue(engine, 0x43211234)", 1126240820);
+ value.insert("QScriptValue(engine, 0x10000)", 65536);
+ value.insert("QScriptValue(engine, 0x10001)", 65537);
+ value.insert("QScriptValue(engine, qSNaN())", 0);
+ value.insert("QScriptValue(engine, qQNaN())", 0);
+ value.insert("QScriptValue(engine, qInf())", 0);
+ value.insert("QScriptValue(engine, -qInf())", 0);
+ value.insert("QScriptValue(engine, \"NaN\")", 0);
+ value.insert("QScriptValue(engine, \"Infinity\")", 0);
+ value.insert("QScriptValue(engine, \"-Infinity\")", 0);
+ value.insert("QScriptValue(engine, \"ciao\")", 0);
+ value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
+ value.insert("QScriptValue(engine, QString(\"\"))", 0);
+ value.insert("QScriptValue(engine, QString())", 0);
+ value.insert("QScriptValue(engine, QString(\"0\"))", 0);
+ value.insert("QScriptValue(engine, QString(\"123\"))", 123);
+ value.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
+ value.insert("engine->evaluate(\"[]\")", 0);
+ value.insert("engine->evaluate(\"{}\")", 0);
+ value.insert("engine->evaluate(\"Object.prototype\")", 0);
+ value.insert("engine->evaluate(\"Date.prototype\")", 0);
+ value.insert("engine->evaluate(\"Array.prototype\")", 0);
+ value.insert("engine->evaluate(\"Function.prototype\")", 0);
+ value.insert("engine->evaluate(\"Error.prototype\")", 0);
+ value.insert("engine->evaluate(\"Object\")", 0);
+ value.insert("engine->evaluate(\"Array\")", 0);
+ value.insert("engine->evaluate(\"Number\")", 0);
+ value.insert("engine->evaluate(\"Function\")", 0);
+ value.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
+ value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
+ value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
+ value.insert("engine->evaluate(\"/foo/\")", 0);
+ value.insert("engine->evaluate(\"new Object()\")", 0);
+ value.insert("engine->evaluate(\"new Array()\")", 0);
+ value.insert("engine->evaluate(\"new Error()\")", 0);
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castquint32_test(const char*, const QScriptValue& value)
+{
+ QFETCH(quint32, expected);
+ QCOMPARE(qscriptvalue_cast<quint32>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castquint32)
+
+
+void tst_QScriptValue::qscriptvalue_castquint16_initData()
+{
+ QTest::addColumn<quint16>("expected");
+ initScriptValues();
+}
+
+void tst_QScriptValue::qscriptvalue_castquint16_makeData(const char* expr)
+{
+ static QHash<QString, quint16> value;
+ if (value.isEmpty()) {
+ value.insert("QScriptValue()", 0);
+ value.insert("QScriptValue(QScriptValue::UndefinedValue)", 0);
+ value.insert("QScriptValue(QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(true)", 1);
+ value.insert("QScriptValue(false)", 0);
+ value.insert("QScriptValue(int(122))", 122);
+ value.insert("QScriptValue(uint(124))", 124);
+ value.insert("QScriptValue(0)", 0);
+ value.insert("QScriptValue(0.0)", 0);
+ value.insert("QScriptValue(123.0)", 123);
+ value.insert("QScriptValue(6.37e-8)", 0);
+ value.insert("QScriptValue(-6.37e-8)", 0);
+ value.insert("QScriptValue(0x43211234)", 4660);
+ value.insert("QScriptValue(0x10000)", 0);
+ value.insert("QScriptValue(0x10001)", 1);
+ value.insert("QScriptValue(qSNaN())", 0);
+ value.insert("QScriptValue(qQNaN())", 0);
+ value.insert("QScriptValue(qInf())", 0);
+ value.insert("QScriptValue(-qInf())", 0);
+ value.insert("QScriptValue(\"NaN\")", 0);
+ value.insert("QScriptValue(\"Infinity\")", 0);
+ value.insert("QScriptValue(\"-Infinity\")", 0);
+ value.insert("QScriptValue(\"ciao\")", 0);
+ value.insert("QScriptValue(QString::fromLatin1(\"ciao\"))", 0);
+ value.insert("QScriptValue(QString(\"\"))", 0);
+ value.insert("QScriptValue(QString())", 0);
+ value.insert("QScriptValue(QString(\"0\"))", 0);
+ value.insert("QScriptValue(QString(\"123\"))", 123);
+ value.insert("QScriptValue(QString(\"12.4\"))", 12);
+ value.insert("QScriptValue(0, QScriptValue::UndefinedValue)", 0);
+ value.insert("QScriptValue(0, QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(0, true)", 1);
+ value.insert("QScriptValue(0, false)", 0);
+ value.insert("QScriptValue(0, int(122))", 122);
+ value.insert("QScriptValue(0, uint(124))", 124);
+ value.insert("QScriptValue(0, 0)", 0);
+ value.insert("QScriptValue(0, 0.0)", 0);
+ value.insert("QScriptValue(0, 123.0)", 123);
+ value.insert("QScriptValue(0, 6.37e-8)", 0);
+ value.insert("QScriptValue(0, -6.37e-8)", 0);
+ value.insert("QScriptValue(0, 0x43211234)", 4660);
+ value.insert("QScriptValue(0, 0x10000)", 0);
+ value.insert("QScriptValue(0, 0x10001)", 1);
+ value.insert("QScriptValue(0, qSNaN())", 0);
+ value.insert("QScriptValue(0, qQNaN())", 0);
+ value.insert("QScriptValue(0, qInf())", 0);
+ value.insert("QScriptValue(0, -qInf())", 0);
+ value.insert("QScriptValue(0, \"NaN\")", 0);
+ value.insert("QScriptValue(0, \"Infinity\")", 0);
+ value.insert("QScriptValue(0, \"-Infinity\")", 0);
+ value.insert("QScriptValue(0, \"ciao\")", 0);
+ value.insert("QScriptValue(0, QString::fromLatin1(\"ciao\"))", 0);
+ value.insert("QScriptValue(0, QString(\"\"))", 0);
+ value.insert("QScriptValue(0, QString())", 0);
+ value.insert("QScriptValue(0, QString(\"0\"))", 0);
+ value.insert("QScriptValue(0, QString(\"123\"))", 123);
+ value.insert("QScriptValue(0, QString(\"12.3\"))", 12);
+ value.insert("QScriptValue(engine, QScriptValue::UndefinedValue)", 0);
+ value.insert("QScriptValue(engine, QScriptValue::NullValue)", 0);
+ value.insert("QScriptValue(engine, true)", 1);
+ value.insert("QScriptValue(engine, false)", 0);
+ value.insert("QScriptValue(engine, int(122))", 122);
+ value.insert("QScriptValue(engine, uint(124))", 124);
+ value.insert("QScriptValue(engine, 0)", 0);
+ value.insert("QScriptValue(engine, 0.0)", 0);
+ value.insert("QScriptValue(engine, 123.0)", 123);
+ value.insert("QScriptValue(engine, 6.37e-8)", 0);
+ value.insert("QScriptValue(engine, -6.37e-8)", 0);
+ value.insert("QScriptValue(engine, 0x43211234)", 4660);
+ value.insert("QScriptValue(engine, 0x10000)", 0);
+ value.insert("QScriptValue(engine, 0x10001)", 1);
+ value.insert("QScriptValue(engine, qSNaN())", 0);
+ value.insert("QScriptValue(engine, qQNaN())", 0);
+ value.insert("QScriptValue(engine, qInf())", 0);
+ value.insert("QScriptValue(engine, -qInf())", 0);
+ value.insert("QScriptValue(engine, \"NaN\")", 0);
+ value.insert("QScriptValue(engine, \"Infinity\")", 0);
+ value.insert("QScriptValue(engine, \"-Infinity\")", 0);
+ value.insert("QScriptValue(engine, \"ciao\")", 0);
+ value.insert("QScriptValue(engine, QString::fromLatin1(\"ciao\"))", 0);
+ value.insert("QScriptValue(engine, QString(\"\"))", 0);
+ value.insert("QScriptValue(engine, QString())", 0);
+ value.insert("QScriptValue(engine, QString(\"0\"))", 0);
+ value.insert("QScriptValue(engine, QString(\"123\"))", 123);
+ value.insert("QScriptValue(engine, QString(\"1.23\"))", 1);
+ value.insert("engine->evaluate(\"[]\")", 0);
+ value.insert("engine->evaluate(\"{}\")", 0);
+ value.insert("engine->evaluate(\"Object.prototype\")", 0);
+ value.insert("engine->evaluate(\"Date.prototype\")", 0);
+ value.insert("engine->evaluate(\"Array.prototype\")", 0);
+ value.insert("engine->evaluate(\"Function.prototype\")", 0);
+ value.insert("engine->evaluate(\"Error.prototype\")", 0);
+ value.insert("engine->evaluate(\"Object\")", 0);
+ value.insert("engine->evaluate(\"Array\")", 0);
+ value.insert("engine->evaluate(\"Number\")", 0);
+ value.insert("engine->evaluate(\"Function\")", 0);
+ value.insert("engine->evaluate(\"(function() { return 1; })\")", 0);
+ value.insert("engine->evaluate(\"(function() { return 'ciao'; })\")", 0);
+ value.insert("engine->evaluate(\"(function() { throw new Error('foo'); })\")", 0);
+ value.insert("engine->evaluate(\"/foo/\")", 0);
+ value.insert("engine->evaluate(\"new Object()\")", 0);
+ value.insert("engine->evaluate(\"new Array()\")", 0);
+ value.insert("engine->evaluate(\"new Error()\")", 0);
+ }
+ newRow(expr) << value.value(expr);
+}
+
+void tst_QScriptValue::qscriptvalue_castquint16_test(const char*, const QScriptValue& value)
+{
+ QFETCH(quint16, expected);
+ QCOMPARE(qscriptvalue_cast<quint16>(value), expected);
+}
+
+DEFINE_TEST_FUNCTION(qscriptvalue_castquint16)
diff --git a/tests/benchmarks/qscriptengine/qscriptengine.pro b/tests/benchmarks/qscriptengine/qscriptengine.pro
index 22bbccd..df6dbb3 100644
--- a/tests/benchmarks/qscriptengine/qscriptengine.pro
+++ b/tests/benchmarks/qscriptengine/qscriptengine.pro
@@ -5,3 +5,8 @@ TARGET = tst_qscriptengine
SOURCES += tst_qscriptengine.cpp
QT += script
+
+symbian* {
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000 // Min 128kB, Max 32MB
+ TARGET.EPOCSTACKSIZE = 0x14000
+}
diff --git a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp b/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp
index b42a355..6c6f0b1 100644
--- a/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp
+++ b/tests/benchmarks/qscriptengine/tst_qscriptengine.cpp
@@ -256,8 +256,13 @@ void tst_QScriptEngine::nativeCall()
QScriptEngine eng;
eng.globalObject().setProperty("fun", eng.newFunction(native_function));
QBENCHMARK{
+#if !defined(Q_OS_SYMBIAN)
eng.evaluate("var w = 0; for (i = 0; i < 100000; ++i) {\n"
" w += fun() + fun(); w -= fun(); fun(); w -= fun(); }");
+#else
+ eng.evaluate("var w = 0; for (i = 0; i < 25000; ++i) {\n"
+ " w += fun() + fun(); w -= fun(); fun(); w -= fun(); }");
+#endif
}
}
diff --git a/tests/benchmarks/qstring/main.cpp b/tests/benchmarks/qstring/main.cpp
index 298c784..12826eb 100644
--- a/tests/benchmarks/qstring/main.cpp
+++ b/tests/benchmarks/qstring/main.cpp
@@ -42,6 +42,12 @@
#include <QFile>
#include <qtest.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+// Application private dir is default serach path for files, so SRCDIR can be set to empty
+#define SRCDIR ""
+#endif
+
class tst_QString: public QObject
{
Q_OBJECT
diff --git a/tests/benchmarks/qstring/qstring.pro b/tests/benchmarks/qstring/qstring.pro
index 6aad1c0..2e7c86a 100644
--- a/tests/benchmarks/qstring/qstring.pro
+++ b/tests/benchmarks/qstring/qstring.pro
@@ -5,8 +5,12 @@ SOURCES += main.cpp
wince*:{
DEFINES += SRCDIR=\\\"\\\"
+} else:symbian* {
+ addFiles.sources = utf-8.txt
+ addFiles.path = .
+ DEPLOYMENT += addFiles
+ TARGET.EPOCHEAPSIZE="0x100 0x1000000"
} else {
DEFINES += SRCDIR=\\\"$$PWD/\\\"
}
-
diff --git a/tests/benchmarks/qtext/main.cpp b/tests/benchmarks/qtext/main.cpp
index 9854a9f..d4f3165 100644
--- a/tests/benchmarks/qtext/main.cpp
+++ b/tests/benchmarks/qtext/main.cpp
@@ -51,6 +51,12 @@
#include <QBuffer>
#include <qtest.h>
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+// Application private dir is default serach path for files, so SRCDIR can be set to empty
+#define SRCDIR ""
+#endif
+
Q_DECLARE_METATYPE(QTextDocument*)
class tst_QText: public QObject
@@ -129,7 +135,11 @@ void tst_QText::shaping_data()
QTest::newRow("lorem") << m_lorem;
QTest::newRow("short") << QString::fromLatin1("Lorem ipsum dolor sit amet");
+#if !defined(Q_OS_SYMBIAN)
QFile file(QString::fromLatin1(SRCDIR) + QLatin1String("/bidi.txt"));
+#else
+ QFile file( SRCDIR "bidi.txt" );
+#endif
QVERIFY(file.open(QFile::ReadOnly));
QByteArray data = file.readAll();
QVERIFY(data.count() > 1000);
diff --git a/tests/benchmarks/qtext/qtext.pro b/tests/benchmarks/qtext/qtext.pro
index ce4f604..9e8860f 100644
--- a/tests/benchmarks/qtext/qtext.pro
+++ b/tests/benchmarks/qtext/qtext.pro
@@ -4,4 +4,11 @@ TARGET = tst_QText
SOURCES += main.cpp
-DEFINES += SRCDIR=\\\"$$PWD/\\\"
+symbian* {
+ TARGET.CAPABILITY = ALL -TCB
+ addFiles.sources = bidi.txt
+ addFiles.path = .
+ DEPLOYMENT += addFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD/\\\"
+} \ No newline at end of file
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index abf81bd..8d1b640 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -317,7 +317,6 @@ Configure::Configure( int& argc, char** argv )
dictionary[ "OPENSSL" ] = "auto";
dictionary[ "DBUS" ] = "auto";
dictionary[ "S60" ] = "yes";
- dictionary[ "SYMBIAN_DEFFILES" ] = "yes";
dictionary[ "STYLE_WINDOWS" ] = "yes";
dictionary[ "STYLE_WINDOWSXP" ] = "auto";
@@ -1475,6 +1474,7 @@ void Configure::applySpecSpecifics()
dictionary[ "XMLPATTERNS" ] = "yes";
dictionary[ "QT_GLIB" ] = "no";
dictionary[ "S60" ] = "yes";
+ dictionary[ "SYMBIAN_DEFFILES" ] = "yes";
// iconv makes makes apps start and run ridiculously slowly in symbian emulator (HW not tested)
// iconv_open seems to return -1 always, so something is probably missing from the platform.
dictionary[ "QT_ICONV" ] = "no";
diff --git a/util/s60pixelmetrics/pixel_metrics.cpp b/util/s60pixelmetrics/pixel_metrics.cpp
index 705c0ec..93873fb 100644
--- a/util/s60pixelmetrics/pixel_metrics.cpp
+++ b/util/s60pixelmetrics/pixel_metrics.cpp
@@ -50,7 +50,7 @@
// so that we can keep dynamic and static values inline.
// Please adjust version data if correcting dynamic PM calculations.
const TInt KPMMajorVersion = 1;
-const TInt KPMMinorVersion = 15;
+const TInt KPMMinorVersion = 16;
TPixelMetricsVersion PixelMetrics::Version()
{
@@ -855,19 +855,26 @@ TInt PixelMetrics::PixelMetricValue(QStyle::PixelMetric metric)
case QStyle::PM_FocusFrameHMargin:
case QStyle::PM_FocusFrameVMargin:
{
- TAknLayoutRect gridRect;
- gridRect.LayoutRect(mainPaneRect, AknLayoutScalable_Avkon::grid_highlight_pane(0));
- TAknLayoutRect gridRectCenter;
- gridRectCenter.LayoutRect(mainPaneRect, AknLayoutScalable_Avkon::cell_highlight_pane_g1());
+ TAknLayoutRect listScrollPane;
+ listScrollPane.LayoutRect(mainPaneRect, AknLayoutScalable_Avkon::listscroll_gen_pane(0));
+ TAknLayoutRect listGenPane;
+ listGenPane.LayoutRect(listScrollPane.Rect(), AknLayoutScalable_Avkon::list_gen_pane(0));
+ TAknLayoutRect listSinglePane;
+ listSinglePane.LayoutRect(listGenPane.Rect(), AknLayoutScalable_Avkon::list_single_pane(0));
+ TAknLayoutText listSinglePaneText;
+ listSinglePaneText.LayoutText(listSinglePane.Rect(), AknLayoutScalable_Avkon::list_single_pane_t1(0));
+ TAknLayoutRect highlightRect;
+ highlightRect.LayoutRect(listSinglePane.Rect(), AknLayoutScalable_Avkon::list_highlight_pane_cp1().LayoutLine());
// The difference of center piece from border tell the frame width.
if ( value == QStyle::PM_FocusFrameHMargin)
{
- value = gridRect.Rect().iBr.iX - gridRectCenter.Rect().iBr.iX;
+ //use topleft for horizontal as S60 uses different values for right and left borders
+ value = listSinglePaneText.TextRect().iTl.iX - highlightRect.Rect().iTl.iX;
}
else
{
- value = gridRect.Rect().iBr.iY - gridRectCenter.Rect().iBr.iY;
+ value = highlightRect.Rect().iBr.iY - listSinglePaneText.TextRect().iBr.iY;
}
}
break;