summaryrefslogtreecommitdiff
path: root/tests/auto/qml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qml')
-rw-r--r--tests/auto/qml/persistenttrie/completion.data10
-rw-r--r--tests/auto/qml/persistenttrie/intersect.data81
-rw-r--r--tests/auto/qml/persistenttrie/listAll.data26
-rw-r--r--tests/auto/qml/persistenttrie/merge.data81
-rw-r--r--tests/auto/qml/persistenttrie/persistenttrie.pro25
-rw-r--r--tests/auto/qml/persistenttrie/tst_testtrie.cpp374
-rw-r--r--tests/auto/qml/persistenttrie/tst_testtrie.h56
-rw-r--r--tests/auto/qml/qmldesigner/common/statichelpers.cpp13
-rw-r--r--tests/auto/qml/qmldesigner/coretests/coretests.pro36
-rw-r--r--tests/auto/qml/qmldesigner/coretests/setupPath.bat1
-rw-r--r--tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp1592
-rw-r--r--tests/auto/qml/qmldesigner/coretests/tst_testcore.h8
-rw-r--r--tests/auto/qml/qmldesigner/testview.cpp7
-rw-r--r--tests/auto/qml/qmldesigner/testview.h3
-rw-r--r--tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp24
-rw-r--r--tests/auto/qml/qmljssimplereader/qmljssimplereader.pro12
-rw-r--r--tests/auto/qml/qmljssimplereader/tst_qmljssimplereader.cpp257
-rw-r--r--tests/auto/qml/qmlprojectmanager/fileformat/fileformat.pro1
18 files changed, 1905 insertions, 702 deletions
diff --git a/tests/auto/qml/persistenttrie/completion.data b/tests/auto/qml/persistenttrie/completion.data
new file mode 100644
index 0000000000..b94aeb1819
--- /dev/null
+++ b/tests/auto/qml/persistenttrie/completion.data
@@ -0,0 +1,10 @@
+com.bla.Pippo 0.1
+com.bla.Pippo 2.0
+com.bla.Pippo 2.1
+com.bla.Pallino 0.1
+QtQuick 1.0
+
+pa
+com.bla.Pallino 0.1
+
+13
diff --git a/tests/auto/qml/persistenttrie/intersect.data b/tests/auto/qml/persistenttrie/intersect.data
new file mode 100644
index 0000000000..a388f08078
--- /dev/null
+++ b/tests/auto/qml/persistenttrie/intersect.data
@@ -0,0 +1,81 @@
+abbc
+a
+acc
+tzk
+ttk
+mm
+
+a
+artz
+tzj
+tzg
+art
+tzg
+
+abbc
+a
+acc
+tzk
+ttk
+mm
+
+abbc
+ab
+mmk
+ab
+abc
+ab
+
+abbc
+a
+acc
+tzk
+ttk
+mm
+
+com.bla.Pippo 0.1
+com.bla.Pippo 2.0
+com.bla.Pippo 2.1
+com.bla.Pallino 0.1
+QtQuick 1.0
+
+a
+artz
+tzj
+tzg
+art
+tzg
+
+abbc
+ab
+mmk
+ab
+abc
+ab
+
+a
+artz
+tzj
+tzg
+art
+tzg
+
+com.bla.Pippo 0.1
+com.bla.Pippo 2.0
+com.bla.Pippo 2.1
+com.bla.Pallino 0.1
+QtQuick 1.0
+
+abbc
+ab
+mmk
+ab
+abc
+ab
+
+a
+artz
+tzj
+tzg
+art
+tzg
diff --git a/tests/auto/qml/persistenttrie/listAll.data b/tests/auto/qml/persistenttrie/listAll.data
new file mode 100644
index 0000000000..79a3477b2e
--- /dev/null
+++ b/tests/auto/qml/persistenttrie/listAll.data
@@ -0,0 +1,26 @@
+abbc
+a
+acc
+tzk
+ttk
+mm
+
+a
+artz
+tzj
+tzg
+art
+tzg
+
+abbc
+ab
+mmk
+ab
+abc
+ab
+
+com.bla.Pippo 0.1
+com.bla.Pippo 2.0
+com.bla.Pippo 2.1
+com.bla.Pallino 0.1
+QtQuick 1.0
diff --git a/tests/auto/qml/persistenttrie/merge.data b/tests/auto/qml/persistenttrie/merge.data
new file mode 100644
index 0000000000..a388f08078
--- /dev/null
+++ b/tests/auto/qml/persistenttrie/merge.data
@@ -0,0 +1,81 @@
+abbc
+a
+acc
+tzk
+ttk
+mm
+
+a
+artz
+tzj
+tzg
+art
+tzg
+
+abbc
+a
+acc
+tzk
+ttk
+mm
+
+abbc
+ab
+mmk
+ab
+abc
+ab
+
+abbc
+a
+acc
+tzk
+ttk
+mm
+
+com.bla.Pippo 0.1
+com.bla.Pippo 2.0
+com.bla.Pippo 2.1
+com.bla.Pallino 0.1
+QtQuick 1.0
+
+a
+artz
+tzj
+tzg
+art
+tzg
+
+abbc
+ab
+mmk
+ab
+abc
+ab
+
+a
+artz
+tzj
+tzg
+art
+tzg
+
+com.bla.Pippo 0.1
+com.bla.Pippo 2.0
+com.bla.Pippo 2.1
+com.bla.Pallino 0.1
+QtQuick 1.0
+
+abbc
+ab
+mmk
+ab
+abc
+ab
+
+a
+artz
+tzj
+tzg
+art
+tzg
diff --git a/tests/auto/qml/persistenttrie/persistenttrie.pro b/tests/auto/qml/persistenttrie/persistenttrie.pro
new file mode 100644
index 0000000000..03f039fcb7
--- /dev/null
+++ b/tests/auto/qml/persistenttrie/persistenttrie.pro
@@ -0,0 +1,25 @@
+include(../../qttest.pri)
+
+DEFINES+=QTCREATORDIR=\\\"$$IDE_SOURCE_TREE\\\"
+DEFINES+=TESTSRCDIR=\\\"$$PWD\\\"
+
+include($$IDE_SOURCE_TREE/src/libs/utils/utils.pri)
+include($$IDE_SOURCE_TREE/src/libs/languageutils/languageutils.pri)
+include($$IDE_SOURCE_TREE/src/libs/qmljs/qmljs.pri)
+
+TARGET = tst_trie_check
+
+HEADERS += tst_testtrie.h
+
+SOURCES += \
+ tst_testtrie.cpp
+
+TEMPLATE = app
+TARGET = tester
+DEFINES += QMLJS_BUILD_DIR QT_CREATOR
+
+OTHER_FILES += \
+ listAll.data \
+ intersect.data \
+ merge.data \
+ completion.data
diff --git a/tests/auto/qml/persistenttrie/tst_testtrie.cpp b/tests/auto/qml/persistenttrie/tst_testtrie.cpp
new file mode 100644
index 0000000000..601f9e1635
--- /dev/null
+++ b/tests/auto/qml/persistenttrie/tst_testtrie.cpp
@@ -0,0 +1,374 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** 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, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#include "tst_testtrie.h"
+#include <qmljs/persistenttrie.h>
+
+#include <QCoreApplication>
+#include <QDebug>
+#include <QLatin1String>
+#include <QMap>
+#include <QString>
+#include <QStringList>
+#include <QTextStream>
+
+using namespace QmlJS::PersistentTrie;
+
+void tst_TestTrie::initTestCase() {
+}
+
+const bool VERBOSE=false;
+
+tst_TestTrie::tst_TestTrie() { QObject::QObject(); }
+
+void tst_TestTrie::testListAll_data()
+{
+ QTest::addColumn<QStringList>("strs");
+
+ QFile f(QString(TESTSRCDIR)+QString("/listAll.data"));
+ if (!f.open(QIODevice::ReadOnly | QIODevice::Text))
+ return;
+ QTextStream stream(&f);
+ int iline = 0;
+ while (true) {
+ QStringList list;
+ QString line;
+ while (true) {
+ line=stream.readLine();
+ if (line.isEmpty())
+ break;
+ list.append(line);
+ }
+ QTest::newRow(QString::number(iline++).toLatin1()) << list;
+ list.clear();
+ if (stream.atEnd())
+ break;
+ }
+}
+
+void tst_TestTrie::testListAll()
+{
+ QFETCH(QStringList, strs);
+ Trie trie;
+ foreach (const QString &s, strs)
+ trie.insert(s);
+ QStringList ref=strs;
+ ref.sort();
+ ref.removeDuplicates();
+ QStringList content=trie.stringList();
+ content.sort();
+ if (VERBOSE && ref != content) {
+ QDebug dbg = qDebug();
+ dbg << "ERROR inserting [";
+ bool comma = false;
+ foreach (const QString &s, strs) {
+ if (comma)
+ dbg << ",";
+ else
+ comma = true;
+ dbg << s;
+ }
+ dbg << "] one gets " << trie;
+ }
+ QCOMPARE(ref, content);
+ foreach (const QString &s,strs) {
+ if (VERBOSE && ! trie.contains(s)) {
+ qDebug() << "ERROR could not find " << s << "in" << trie;
+ }
+ QVERIFY(trie.contains(s));
+ }
+}
+
+void tst_TestTrie::testMerge_data()
+{
+ QTest::addColumn<QStringList>("str1");
+ QTest::addColumn<QStringList>("str2");
+
+ QFile f(QString(TESTSRCDIR)+QString("/merge.data"));
+ if (!f.open(QIODevice::ReadOnly | QIODevice::Text))
+ return;
+ QTextStream stream(&f);
+ int iline = 0;
+ while (true) {
+ QStringList list1;
+ QString line;
+ while (true) {
+ line=stream.readLine();
+ if (line.isEmpty())
+ break;
+ list1.append(line);
+ }
+ QStringList list2;
+ while (true) {
+ line=stream.readLine();
+ if (line.isEmpty())
+ break;
+ list2.append(line);
+ }
+ QTest::newRow(QString::number(iline++).toLatin1()) << list1 << list2;
+ list1.clear();
+ list2.clear();
+ if (stream.atEnd())
+ break;
+ }
+}
+
+void tst_TestTrie::testMerge()
+{
+ QFETCH(QStringList, str1);
+ QFETCH(QStringList, str2);
+ Trie trie1;
+ foreach (const QString &s, str1)
+ trie1.insert(s);
+ Trie trie2;
+ foreach (const QString &s, str2)
+ trie2.insert(s);
+ QStringList ref=str1;
+ ref.append(str2);
+ ref.sort();
+ ref.removeDuplicates();
+ Trie trie3 = trie1.mergeF(trie2);
+ QStringList content=trie3.stringList();
+ content.sort();
+ if (VERBOSE && ref != content) {
+ QDebug dbg=qDebug();
+ dbg << "ERROR merging [";
+ bool comma = false;
+ foreach (const QString &s, str1) {
+ if (comma)
+ dbg << ",";
+ else
+ comma = true;
+ dbg << s;
+ }
+ dbg << "] => " << trie1 << " and [";
+ comma = false;
+ foreach (const QString &s, str2) {
+ if (comma)
+ dbg << ",";
+ else
+ comma = true;
+ dbg << s;
+ }
+ dbg << "] => " << trie2
+ << " to " << trie3;
+ }
+ QCOMPARE(ref, content);
+}
+
+void tst_TestTrie::testIntersect_data()
+{
+ QTest::addColumn<QStringList>("str1");
+ QTest::addColumn<QStringList>("str2");
+
+ QFile f(QString(TESTSRCDIR)+QString("/intersect.data"));
+ if (!f.open(QIODevice::ReadOnly | QIODevice::Text))
+ return;
+ QTextStream stream(&f);
+ int iline = 0;
+ while (true) {
+ QStringList list1;
+ QString line;
+ while (true) {
+ line=stream.readLine();
+ if (line.isEmpty())
+ break;
+ list1.append(line);
+ }
+ QStringList list2;
+ while (true) {
+ line=stream.readLine();
+ if (line.isEmpty())
+ break;
+ list2.append(line);
+ }
+ QTest::newRow(QString::number(iline++).toLatin1()) << list1 << list2;
+ list1.clear();
+ list2.clear();
+ if (stream.atEnd())
+ break;
+ }
+}
+
+void tst_TestTrie::testIntersect()
+{
+ QFETCH(QStringList, str1);
+ QFETCH(QStringList, str2);
+ Trie trie1;
+ foreach (const QString &s, str1)
+ trie1.insert(s);
+ Trie trie2;
+ foreach (const QString &s, str2)
+ trie2.insert(s);
+ QSet<QString> ref1;
+ foreach (const QString &s, str1)
+ ref1.insert(s);
+ QSet<QString> ref2;
+ foreach (const QString &s, str2)
+ ref2.insert(s);
+ ref1.intersect(ref2);
+ Trie trie3 = trie1.intersectF(trie2);
+ ref2.clear();
+ foreach (const QString &s, trie3.stringList())
+ ref2.insert(s);
+ if (VERBOSE && ref1 != ref2) {
+ QDebug dbg=qDebug();
+ dbg << "ERROR intersecting [";
+ bool comma = false;
+ foreach (const QString &s, str1) {
+ if (comma)
+ dbg << ",";
+ else
+ comma = true;
+ dbg << s;
+ }
+ dbg << "] => " << trie1 << " and [";
+ comma = false;
+ foreach (const QString &s, str2) {
+ if (comma)
+ dbg << ",";
+ else
+ comma = true;
+ dbg << s;
+ }
+ dbg << "] => " << trie2
+ << " to " << trie3;
+ }
+ QCOMPARE(ref1, ref2);
+}
+
+void tst_TestTrie::testCompletion_data()
+{
+ QTest::addColumn<QStringList>("trieContents");
+ QTest::addColumn<QString>("str");
+ QTest::addColumn<QStringList>("completions");
+ QTest::addColumn<int>("flags");
+
+ QFile f(QString(TESTSRCDIR)+QString("/completion.data"));
+ if (!f.open(QIODevice::ReadOnly | QIODevice::Text))
+ return;
+ QTextStream stream(&f);
+ int iline = 0;
+ while (true) {
+ QStringList list1;
+ QString line;
+ while (true) {
+ line = stream.readLine();
+ if (line.isEmpty())
+ break;
+ list1.append(line);
+ }
+ QString str = stream.readLine();
+ QStringList list2;
+ while (true) {
+ line = stream.readLine();
+ if (line.isEmpty())
+ break;
+ list2.append(line);
+ }
+ int flags = stream.readLine().toInt();
+ QTest::newRow(QString::number(iline++).toLatin1()) << list1 << str << list2 << flags;
+ list1.clear();
+ list2.clear();
+ if (stream.atEnd())
+ break;
+ }
+}
+
+void tst_TestTrie::testCompletion() {
+ QFETCH(QStringList, trieContents);
+ QFETCH(QString, str);
+ QFETCH(QStringList, completions);
+ QFETCH(int, flags);
+
+ Trie trie;
+ foreach (const QString &s, trieContents)
+ trie.insert(s);
+ QStringList res = trie.complete(str, QString(), LookupFlags(flags));
+ res = matchStrengthSort(str, res);
+ if (VERBOSE && res != completions) {
+ qDebug() << "unexpected completions for " << str
+ << " in " << trie;
+ qDebug() << "expected :[";
+ foreach (const QString &s, completions) {
+ qDebug() << s;
+ }
+ qDebug() << "] got [";
+ foreach (const QString &s, res) {
+ qDebug() << s;
+ }
+ qDebug() << "]";
+ }
+ QCOMPARE(res, completions);
+}
+
+void interactiveCompletionTester(){
+ Trie trie;
+ qDebug() << "interactive completion tester, insert the strings int the trie (empty line to stop)";
+ QTextStream stream(stdin);
+ QString line;
+ while (true) {
+ line=stream.readLine();
+ if (line.isEmpty())
+ break;
+ trie.insert(line);
+ }
+ qDebug() << "testing Complete on " << trie;
+ while (true) {
+ qDebug() << "insert a string to complete (empty line to stop)";
+ line=stream.readLine();
+ if (line.isEmpty())
+ break;
+ QStringList res=trie.complete(line, QString(),
+ LookupFlags(CaseInsensitive|SkipChars|SkipSpaces));
+ res = matchStrengthSort(line,res);
+ qDebug() << "possible completions:[";
+ foreach (const QString &s, res) {
+ qDebug() << s;
+ }
+ qDebug() << "]";
+ }
+}
+
+#ifdef INTERACTIVE_COMPLETION_TEST
+
+int main(int , const char *[])
+{
+ interactiveCompletionTester();
+
+ return 0;
+}
+
+#else
+
+QTEST_MAIN(tst_TestTrie);
+
+//#include "moc_tst_testtrie.cpp"
+
+#endif
diff --git a/tests/auto/qml/persistenttrie/tst_testtrie.h b/tests/auto/qml/persistenttrie/tst_testtrie.h
new file mode 100644
index 0000000000..2559e4a0c0
--- /dev/null
+++ b/tests/auto/qml/persistenttrie/tst_testtrie.h
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** 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, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#include <QtTest>
+#include <QObject>
+
+QT_FORWARD_DECLARE_CLASS(QStringList)
+
+class tst_TestTrie : public QObject
+{
+ Q_OBJECT
+public:
+ tst_TestTrie();
+
+private slots:
+ void initTestCase();
+ //void cleanupTestCase();
+ //void init();
+ //void cleanup();
+
+ void testListAll_data();
+ void testMerge_data();
+ void testIntersect_data();
+ void testCompletion_data();
+
+ void testListAll();
+ void testMerge();
+ void testIntersect();
+ void testCompletion();
+};
diff --git a/tests/auto/qml/qmldesigner/common/statichelpers.cpp b/tests/auto/qml/qmldesigner/common/statichelpers.cpp
index 7b8ae206c7..5970e697db 100644
--- a/tests/auto/qml/qmldesigner/common/statichelpers.cpp
+++ b/tests/auto/qml/qmldesigner/common/statichelpers.cpp
@@ -69,19 +69,6 @@ static QString bareTemplate("import Qt 4.6\n"
"}");
static QString contentsTemplate(bareTemplate.arg("Text { id: textChild; x:10; y: 10; text: \"%1\"; %2 }"));
-
-void printErrors(const QList<QDeclarativeError> &errors, const QString &fileName)
-{
- if (errors.isEmpty())
- return;
-
- qDebug() << "Error loading file \"" << fileName << "\":";
-
- foreach (const QDeclarativeError &error, errors) {
- qDebug() << error.line() << ":" << error.column() << ": " << error.description();
- }
-}
-
// TODO: this need to e updated for states
static bool compareProperty(const AbstractProperty &property1, const AbstractProperty &property2)
{
diff --git a/tests/auto/qml/qmldesigner/coretests/coretests.pro b/tests/auto/qml/qmldesigner/coretests/coretests.pro
index b82c68f5a6..8924538412 100644
--- a/tests/auto/qml/qmldesigner/coretests/coretests.pro
+++ b/tests/auto/qml/qmldesigner/coretests/coretests.pro
@@ -1,33 +1,43 @@
-include(../../../qttest.pri)
-
-QTCREATOR_SOURCE=$$PWD/../../../../..
-QTCREATOR_BUILD=$$OUT_PWD/../../../../..
+IDE_SOURCE_TREE=$$PWD/../../../../..
+IDE_BUILD_TREE=$$OUT_PWD/../../../../..
# can we check that this is a valid build dir?
-
OUT_PWD_SAVE=$$OUT_PWD
-OUT_PWD=QTCREATOR_BUILD
+OUT_PWD=IDE_BUILD_TREE
include($$IDE_SOURCE_TREE/src/plugins/qmldesigner/config.pri)
+include(../../../qttest.pri)
OUT_PWD=$$OUT_PWD_SAVE
-
LIBS += -L$$IDE_PLUGIN_PATH/QtProject
+LIBS += -L$$IDE_LIBRARY_PATH
unix: QMAKE_LFLAGS += \'-Wl,-rpath,$${IDE_LIBRARY_PATH}\' \'-Wl,-rpath,$${IDE_PLUGIN_PATH}/QtProject\'
QT += script \
- network \
- declarative \
- webkit
+ network
+
+greaterThan(QT_MAJOR_VERSION, 4) {
+ QT += printsupport
+ !isEmpty(QT.webkitwidgets.name): QT += webkitwidgets webkit
+ else: DEFINES += QT_NO_WEBKIT
+} else {
+ contains(QT_CONFIG, webkit): QT += webkit
+}
+
# DEFINES+=QTCREATOR_UTILS_STATIC_LIB QML_BUILD_STATIC_LIB
DEFINES+=QTCREATORDIR=\\\"$$IDE_BUILD_TREE\\\"
-DEFINES+=QT_CREATOR QTCREATOR_TEST
+DEFINES+=QT_CREATOR QTCREATOR_TEST QMLDESIGNER_TEST
INCLUDEPATH += $$IDE_SOURCE_TREE/src/plugins/qmldesigner/designercore/include
INCLUDEPATH += $$IDE_SOURCE_TREE/src/plugins/qmldesigner/designercore
+INCLUDEPATH += $$IDE_SOURCE_TREE//share/qtcreator/qml/qmlpuppet
+INCLUDEPATH += $$IDE_SOURCE_TREE/src/plugins/qmldesigner
-include($$IDE_SOURCE_TREE/src/plugins/qmldesigner/designercore/designercore.pri)
-include($$IDE_SOURCE_TREE/src/libs/utils/utils.pri)
+
+include($$IDE_SOURCE_TREE/src/plugins/qmldesigner/designercore/designercore-lib.pri)
include($$IDE_SOURCE_TREE/src/plugins/qmljstools/qmljstools.pri)
+include($$IDE_SOURCE_TREE/src/libs/utils/utils.pri)
+include($$IDE_SOURCE_TREE/src/libs/qmljs/qmljs.pri)
+include($$IDE_SOURCE_TREE/src/libs/cplusplus/cplusplus.pri)
CONFIG += console
CONFIG -= app_bundle
diff --git a/tests/auto/qml/qmldesigner/coretests/setupPath.bat b/tests/auto/qml/qmldesigner/coretests/setupPath.bat
new file mode 100644
index 0000000000..7355f3c099
--- /dev/null
+++ b/tests/auto/qml/qmldesigner/coretests/setupPath.bat
@@ -0,0 +1 @@
+@set path=%PATH%;%CD%\..\..\..\..\..\lib\qtcreator\plugins\QtProject\
diff --git a/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp b/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp
index bab2419b12..10f89ace88 100644
--- a/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp
+++ b/tests/auto/qml/qmldesigner/coretests/tst_testcore.cpp
@@ -32,6 +32,8 @@
#include <QScopedPointer>
#include <QLatin1String>
#include <QGraphicsObject>
+#include <QTest>
+#include <QVariant>
#include <metainfo.h>
#include <model.h>
@@ -55,17 +57,22 @@
#include <nodelistproperty.h>
#include <nodeabstractproperty.h>
#include <componenttextmodifier.h>
-#include <instances/objectnodeinstance.h>
#include <bytearraymodifier.h>
#include "testrewriterview.h"
+#include <utils/fileutils.h>
#include <qmljs/qmljsinterpreter.h>
#include <QPlainTextEdit>
-#include <private/qdeclarativestate_p.h>
-#include <private/qdeclarativemetatype_p.h>
-#include <QDeclarativeItem>
+
+#if QT_VERSION >= 0x050000
+#define MSKIP_SINGLE(x) QSKIP(x)
+#define MSKIP_ALL(x) QSKIP(x);
+#else
+#define MSKIP_SINGLE(x) QSKIP(x, SkipSingle)
+#define MSKIP_ALL(x) QSKIP(x, SkipAll)
+#endif
//TESTED_COMPONENT=src/plugins/qmldesigner/designercore
@@ -74,6 +81,7 @@ using namespace QmlDesigner;
#include "../common/statichelpers.cpp"
#include <qmljstools/qmljsmodelmanager.h>
+#include <qmljs/qmljsinterpreter.h>
#ifdef Q_OS_MAC
# define SHARE_PATH "/Resources"
@@ -93,10 +101,17 @@ public:
{
loadQmlTypeDescriptions(resourcePath());
}
- void loadFile(QString fileName)
+ void updateSourceFiles(const QStringList &files, bool emitDocumentOnDiskChanged)
{
- refreshSourceFiles(QStringList() << fileName, false).waitForFinished();
+ refreshSourceFiles(files, emitDocumentOnDiskChanged).waitForFinished();
}
+
+ QmlJS::LibraryInfo builtins(const QmlJS::Document::Ptr &) const
+ {
+ return QmlJS::LibraryInfo();
+ }
+
+
};
static void initializeMetaTypeSystem(const QString &resourcePath)
@@ -107,9 +122,36 @@ static void initializeMetaTypeSystem(const QString &resourcePath)
QDir::Files,
QDir::Name);
- const QStringList errors = QmlJS::Interpreter::CppQmlTypesLoader::loadQmlTypes(qmlFiles);
- foreach (const QString &error, errors)
- qWarning() << qPrintable(error);
+ QStringList errorsAndWarnings;
+ QmlJS::CppQmlTypesLoader::loadQmlTypes(qmlFiles, &errorsAndWarnings, &errorsAndWarnings);
+ foreach (const QString &errorAndWarning, errorsAndWarnings)
+ qWarning() << qPrintable(errorAndWarning);
+}
+
+static QmlDesigner::Model* createModel(const QString &typeName, int major = 1, int minor = 1, Model *metaInfoPropxyModel = 0)
+{
+ QApplication::processEvents();
+
+ QmlDesigner::Model *model = QmlDesigner::Model::create(typeName, major, minor, metaInfoPropxyModel);
+
+ QPlainTextEdit *textEdit = new QPlainTextEdit;
+ QObject::connect(model, SIGNAL(destroyed()), textEdit, SLOT(deleteLater()));
+ textEdit->setPlainText(QString("import %1 %3.%4; %2{}").arg(typeName.split(".").first())
+ .arg(typeName.split(".").last())
+ .arg(major)
+ .arg(minor));
+
+ NotIndentingTextEditModifier *modifier = new NotIndentingTextEditModifier(textEdit);
+ modifier->setParent(textEdit);
+
+ QmlDesigner::RewriterView *rewriterView = new QmlDesigner::RewriterView(QmlDesigner::RewriterView::Validate, model);
+ rewriterView->setCheckSemanticErrors(false);
+ rewriterView->setTextModifier(modifier);
+
+ model->attachView(rewriterView);
+
+ return model;
+
}
tst_TestCore::tst_TestCore()
@@ -130,9 +172,9 @@ void tst_TestCore::initTestCase()
// Load plugins
#ifdef Q_OS_MAC
- const QString pluginPath = QTCREATORDIR "/bin/Qt Creator.app/Contents/PlugIns/QmlDesigner";
+ const QString pluginPath = QTCREATORDIR "/bin/Qt Creator.app/Contents/PlugIns/QtCreator/QmlDesigner";
#else
- const QString pluginPath = QTCREATORDIR "/lib/qmldesigner";
+ const QString pluginPath = QTCREATORDIR "/lib/qtcreator/qmldesigner";
#endif
qDebug() << pluginPath;
@@ -147,9 +189,18 @@ void tst_TestCore::cleanupTestCase()
MetaInfo::clearGlobal();
}
+void tst_TestCore::init()
+{
+ QApplication::processEvents();
+}
+void tst_TestCore::cleanup()
+{
+ QApplication::processEvents();
+}
+
void tst_TestCore::testModelCreateCoreModel()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> testView(new TestView(model.data()));
@@ -168,17 +219,17 @@ void tst_TestCore::loadEmptyCoreModel()
textEdit1.setPlainText(file.readAll());
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
model1->attachView(testRewriterView1.data());
QPlainTextEdit textEdit2;
- textEdit2.setPlainText("import Qt 4.7; Item{}");
+ textEdit2.setPlainText("import QtQuick 1.1; Item{}");
NotIndentingTextEditModifier modifier2(&textEdit2);
- QScopedPointer<Model> model2(Model::create("Qt/item"));
+ QScopedPointer<Model> model2(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView2(new TestRewriterView());
testRewriterView2->setTextModifier(&modifier2);
@@ -191,10 +242,10 @@ void tst_TestCore::testRewriterView()
{
try {
QPlainTextEdit textEdit;
- textEdit.setPlainText("import Qt 4.7;\n\nItem {\n}\n");
+ textEdit.setPlainText("import QtQuick 1.1;\n\nItem {\n}\n");
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -207,15 +258,15 @@ void tst_TestCore::testRewriterView()
testRewriterView->setTextModifier(&textModifier);
model->attachView(testRewriterView.data());
- ModelNode childNode(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data"));
+ ModelNode childNode(addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data"));
QVERIFY(childNode.isValid());
childNode.setId("childNode");
- ModelNode childNode2(addNodeListChild(childNode, "Qt/Rectangle", 4, 7, "data"));
+ ModelNode childNode2(addNodeListChild(childNode, "QtQuick.Rectangle", 1, 0, "data"));
childNode2.setId("childNode2");
- ModelNode childNode3(addNodeListChild(childNode2, "Qt/Rectangle", 4, 7, "data"));
+ ModelNode childNode3(addNodeListChild(childNode2, "QtQuick.Rectangle", 1, 0, "data"));
childNode3.setId("childNode3");
- ModelNode childNode4(addNodeListChild(childNode3, "Qt/Rectangle", 4, 7, "data"));
+ ModelNode childNode4(addNodeListChild(childNode3, "QtQuick.Rectangle", 1, 0, "data"));
childNode4.setId("childNode4");
QVERIFY(childNode.isValid());
@@ -241,7 +292,7 @@ void tst_TestCore::testRewriterView()
testRewriterView->modelToTextMerger()->applyChanges();
- childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ childNode = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(testRewriterView->modelToTextMerger()->isNodeScheduledForAddition(childNode));
testRewriterView->modelToTextMerger()->applyChanges();
@@ -261,10 +312,10 @@ void tst_TestCore::testRewriterView()
void tst_TestCore::testRewriterErrors()
{
QPlainTextEdit textEdit;
- textEdit.setPlainText("import Qt 4.7;\n\nItem {\n}\n");
+ textEdit.setPlainText("import QtQuick 1.1;\n\nItem {\n}\n");
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -278,16 +329,15 @@ void tst_TestCore::testRewriterErrors()
model->attachView(testRewriterView.data());
QVERIFY(testRewriterView->errors().isEmpty());
- textEdit.setPlainText("import Qt 4.7;\n\nError {\n}\n");
+ textEdit.setPlainText("import QtQuick 1.1;\nRectangle {\ntest: blah\n}\n");
QVERIFY(!testRewriterView->errors().isEmpty());
- textEdit.setPlainText("import Qt 4.7;\n\nItem {\n}\n");
+ textEdit.setPlainText("import QtQuick 1.1;\n\nItem {\n}\n");
QVERIFY(testRewriterView->errors().isEmpty());
}
void tst_TestCore::saveEmptyCoreModel()
{
- QList<QDeclarativeError> errors;
QFile file(":/fx/empty.qml");
QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text));
@@ -295,7 +345,7 @@ void tst_TestCore::saveEmptyCoreModel()
textEdit1.setPlainText(file.readAll());
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -307,10 +357,10 @@ void tst_TestCore::saveEmptyCoreModel()
modifier1.save(&buffer);
QPlainTextEdit textEdit2;
- textEdit2.setPlainText("import Qt 4.7; Item{}");
+ textEdit2.setPlainText("import QtQuick 1.1; Item{}");
NotIndentingTextEditModifier modifier2(&textEdit2);
- QScopedPointer<Model> model2(Model::create("Qt/item"));
+ QScopedPointer<Model> model2(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView2(new TestRewriterView());
testRewriterView2->setTextModifier(&modifier2);
@@ -322,7 +372,6 @@ void tst_TestCore::saveEmptyCoreModel()
void tst_TestCore::loadAttributesInCoreModel()
{
- QList<QDeclarativeError> errors;
QFile file(":/fx/attributes.qml");
QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text));
@@ -330,17 +379,17 @@ void tst_TestCore::loadAttributesInCoreModel()
textEdit1.setPlainText(file.readAll());
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
model1->attachView(testRewriterView1.data());
QPlainTextEdit textEdit2;
- textEdit2.setPlainText("import Qt 4.7; Item{}");
+ textEdit2.setPlainText("import QtQuick 1.1; Item{}");
NotIndentingTextEditModifier modifier2(&textEdit2);
- QScopedPointer<Model> model2(Model::create("Qt/item"));
+ QScopedPointer<Model> model2(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView2(new TestRewriterView());
testRewriterView2->setTextModifier(&modifier2);
@@ -365,7 +414,7 @@ void tst_TestCore::saveAttributesInCoreModel()
textEdit1.setPlainText(file.readAll());
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -381,7 +430,7 @@ void tst_TestCore::saveAttributesInCoreModel()
textEdit2.setPlainText(buffer.data());
NotIndentingTextEditModifier modifier2(&textEdit2);
- QScopedPointer<Model> model2(Model::create("Qt/Item"));
+ QScopedPointer<Model> model2(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView2(new TestRewriterView());
testRewriterView2->setTextModifier(&modifier2);
@@ -396,7 +445,7 @@ void tst_TestCore::testModelCreateRect()
{
try {
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -404,7 +453,7 @@ void tst_TestCore::testModelCreateRect()
model->attachView(view.data());
QVERIFY(view->rootModelNode().isValid());
- ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(view->rootModelNode(), "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(childNode.isValid());
QVERIFY(view->rootModelNode().allDirectSubModelNodes().contains(childNode));
QVERIFY(childNode.parentProperty().parentModelNode() == view->rootModelNode());
@@ -423,7 +472,7 @@ void tst_TestCore::testModelCreateRect()
QCOMPARE(childNode.propertyNames().count(), 4);
QCOMPARE(childNode.variantProperty("scale").value(), QVariant());
- } catch (Exception &exception) {
+ } catch (Exception &) {
QFAIL("Exception thrown");
}
@@ -432,7 +481,7 @@ void tst_TestCore::testModelCreateRect()
void tst_TestCore::testRewriterDynamicProperties()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" property int i\n"
@@ -459,7 +508,7 @@ void tst_TestCore::testRewriterDynamicProperties()
textEdit1.setPlainText(qmlString);
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -549,10 +598,10 @@ void tst_TestCore::testRewriterDynamicProperties()
// test model2text
// QPlainTextEdit textEdit2;
-// textEdit2.setPlainText("import Qt 4.7; Item{}");
+// textEdit2.setPlainText("import QtQuick 1.1; Item{}");
// NotIndentingTextEditModifier modifier2(&textEdit2);
//
-// QScopedPointer<Model> model2(Model::create("Qt/Item"));
+// QScopedPointer<Model> model2(Model::create("QtQuick.Item"));
//
// QScopedPointer<TestRewriterView> testRewriterView2(new TestRewriterView());
// testRewriterView2->setTextModifier(&modifier2);
@@ -566,7 +615,7 @@ void tst_TestCore::testRewriterDynamicProperties()
void tst_TestCore::testRewriterGroupedProperties()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Text {\n"
" font {\n"
@@ -579,7 +628,7 @@ void tst_TestCore::testRewriterGroupedProperties()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier modifier1(&textEdit);
- QScopedPointer<Model> model1(Model::create("Qt/Text"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Text"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -603,7 +652,7 @@ void tst_TestCore::testRewriterGroupedProperties()
rootModelNode.removeProperty(QLatin1String("font.pointSize"));
const QLatin1String expected("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Text {\n"
"}\n");
@@ -614,7 +663,7 @@ void tst_TestCore::testRewriterGroupedProperties()
void tst_TestCore::testRewriterPreserveOrder()
{
const QLatin1String qmlString1("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"width: 640\n"
@@ -635,7 +684,7 @@ void tst_TestCore::testRewriterPreserveOrder()
"}\n"
"}\n");
const QLatin1String qmlString2("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"width: 640\n"
@@ -661,7 +710,7 @@ void tst_TestCore::testRewriterPreserveOrder()
textEdit.setPlainText(qmlString2);
NotIndentingTextEditModifier modifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Text"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Text"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&modifier);
@@ -674,7 +723,7 @@ void tst_TestCore::testRewriterPreserveOrder()
RewriterTransaction transaction = testRewriterView->beginRewriterTransaction();
- ModelNode newModelNode = testRewriterView->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode newModelNode = testRewriterView->createModelNode("QtQuick.Rectangle", 1, 0);
newModelNode.setParentProperty(rootModelNode.nodeAbstractProperty("data"));
@@ -696,7 +745,7 @@ void tst_TestCore::testRewriterPreserveOrder()
textEdit.setPlainText(qmlString1);
NotIndentingTextEditModifier modifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Text"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Text"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&modifier);
@@ -709,7 +758,7 @@ void tst_TestCore::testRewriterPreserveOrder()
RewriterTransaction transaction = testRewriterView->beginRewriterTransaction();
- ModelNode newModelNode = testRewriterView->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode newModelNode = testRewriterView->createModelNode("QtQuick.Rectangle", 1, 0);
newModelNode.setParentProperty(rootModelNode.nodeAbstractProperty("data"));
@@ -730,7 +779,7 @@ void tst_TestCore::testRewriterPreserveOrder()
void tst_TestCore::testRewriterActionCompression()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" id: root\n"
@@ -750,7 +799,7 @@ void tst_TestCore::testRewriterActionCompression()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier modifier1(&textEdit);
- QScopedPointer<Model> model1(Model::create("Qt/Rectangle"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Rectangle"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&modifier1);
@@ -776,7 +825,7 @@ void tst_TestCore::testRewriterActionCompression()
transaction.commit();
const QLatin1String expected("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" id: root\n"
@@ -804,7 +853,7 @@ void tst_TestCore::testRewriterImports()
textEdit.setPlainText(file.readAll());
NotIndentingTextEditModifier modifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
model->setFileUrl(QUrl::fromLocalFile(fileName));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
@@ -815,12 +864,12 @@ void tst_TestCore::testRewriterImports()
QVERIFY(model->imports().size() == 3);
- // import Qt 4.7
+ // import QtQuick 1.1
Import import = model->imports().at(0);
QVERIFY(import.isLibraryImport());
- QCOMPARE(import.url(), QString("Qt"));
+ QCOMPARE(import.url(), QString("QtQuick"));
QVERIFY(import.hasVersion());
- QCOMPARE(import.version(), QString("4.7"));
+ QCOMPARE(import.version(), QString("1.0"));
QVERIFY(!import.hasAlias());
// import "subitems"
@@ -843,7 +892,7 @@ void tst_TestCore::testRewriterImports()
void tst_TestCore::testRewriterChangeImports()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {}\n");
@@ -851,7 +900,7 @@ void tst_TestCore::testRewriterChangeImports()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier modifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Rectangle"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Rectangle"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView(0, RewriterView::Amend));
testRewriterView->setTextModifier(&modifier);
@@ -870,7 +919,7 @@ void tst_TestCore::testRewriterChangeImports()
model->changeImports(importList, QList<Import>());
const QLatin1String qmlWithImport("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"import QtWebKit 1.0\n"
"\n"
"Rectangle {}\n");
@@ -879,7 +928,7 @@ void tst_TestCore::testRewriterChangeImports()
model->changeImports(QList<Import>(), importList);
QCOMPARE(model->imports().size(), 1);
- QCOMPARE(model->imports().first(), Import::createLibraryImport("Qt", "4.7"));
+ QCOMPARE(model->imports().first(), Import::createLibraryImport("QtQuick", "1.1"));
QCOMPARE(textEdit.toPlainText(), qmlString);
@@ -887,45 +936,45 @@ void tst_TestCore::testRewriterChangeImports()
//
// Add / Remove an import in the model (with alias)
//
- model->changeImports(importList, QList<Import>());
+
+ Import webkitImportAlias = Import::createLibraryImport("QtWebKit", "1.0", "Web");
+
+ model->changeImports(QList<Import>() << webkitImportAlias, QList<Import>() << webkitImport);
const QLatin1String qmlWithAliasImport("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"import QtWebKit 1.0 as Web\n"
"\n"
"Rectangle {}\n");
QCOMPARE(textEdit.toPlainText(), qmlWithAliasImport);
- model->changeImports(QList<Import>(), importList);
-
- QCOMPARE(model->imports().size(), 1);
- QCOMPARE(model->imports().first(), Import::createLibraryImport("Qt", "4.7"));
+ model->changeImports(QList<Import>(), QList<Import>() << webkitImportAlias);
+ QCOMPARE(model->imports().first(), Import::createLibraryImport("QtQuick", "1.1"));
QCOMPARE(textEdit.toPlainText(), qmlString);
-
//
// Add / Remove an import in text
//
textEdit.setPlainText(qmlWithImport);
QCOMPARE(model->imports().size(), 2);
- QCOMPARE(model->imports().first(), Import::createLibraryImport("Qt", "4.7"));
+ QCOMPARE(model->imports().first(), Import::createLibraryImport("QtQuick", "1.1"));
QCOMPARE(model->imports().last(), Import::createLibraryImport("QtWebKit", "1.0"));
textEdit.setPlainText(qmlWithAliasImport);
QCOMPARE(model->imports().size(), 2);
- QCOMPARE(model->imports().first(), Import::createLibraryImport("Qt", "4.7"));
+ QCOMPARE(model->imports().first(), Import::createLibraryImport("QtQuick", "1.1"));
QCOMPARE(model->imports().last(), Import::createLibraryImport("QtWebKit", "1.0", "Web"));
textEdit.setPlainText(qmlString);
QCOMPARE(model->imports().size(), 1);
- QCOMPARE(model->imports().first(), Import::createLibraryImport("Qt", "4.7"));
+ QCOMPARE(model->imports().first(), Import::createLibraryImport("QtQuick", "1.1"));
}
void tst_TestCore::testRewriterForGradientMagic()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" id: root\n"
@@ -963,7 +1012,7 @@ void tst_TestCore::testRewriterForGradientMagic()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier modifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Text"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Text"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&modifier);
@@ -979,7 +1028,7 @@ void tst_TestCore::testRewriterForGradientMagic()
myRect.variantProperty("rotation") = QVariant(45);
QVERIFY(myRect.isValid());
- QScopedPointer<Model> model1(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model1.data());
QScopedPointer<TestView> view1(new TestView(model1.data()));
@@ -987,7 +1036,7 @@ void tst_TestCore::testRewriterForGradientMagic()
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
QPlainTextEdit textEdit1;
- textEdit1.setPlainText("import Qt 4.7; Item {}");
+ textEdit1.setPlainText("import QtQuick 1.1; Item {}");
NotIndentingTextEditModifier modifier1(&textEdit1);
testRewriterView1->setTextModifier(&modifier1);
@@ -1013,7 +1062,7 @@ void tst_TestCore::loadSubItems()
textEdit1.setPlainText(file.readAll());
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -1022,16 +1071,16 @@ void tst_TestCore::loadSubItems()
void tst_TestCore::createInvalidCoreModel()
{
- QScopedPointer<Model> invalidModel(Model::create("ItemSUX"));
+ QScopedPointer<Model> invalidModel(createModel("ItemSUX"));
//QVERIFY(!invalidModel.data()); //#no direct ype checking in model atm
- QScopedPointer<Model> invalidModel2(Model::create("InvalidNode"));
+ QScopedPointer<Model> invalidModel2(createModel("InvalidNode"));
//QVERIFY(!invalidModel2.data());
}
void tst_TestCore::testModelCreateSubNode()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -1043,7 +1092,7 @@ void tst_TestCore::testModelCreateSubNode()
QCOMPARE(view->methodCalls(), expectedCalls);
QVERIFY(view->rootModelNode().isValid());
- ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(view->rootModelNode(), "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(childNode.isValid());
QVERIFY(view->rootModelNode().allDirectSubModelNodes().contains(childNode));
QVERIFY(childNode.parentProperty().parentModelNode() == view->rootModelNode());
@@ -1077,7 +1126,7 @@ void tst_TestCore::testModelCreateSubNode()
void tst_TestCore::testTypicalRewriterOperations()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -1087,46 +1136,46 @@ void tst_TestCore::testTypicalRewriterOperations()
ModelNode rootModelNode = view->rootModelNode();
QCOMPARE(rootModelNode.allDirectSubModelNodes().count(), 0);
- QVERIFY(rootModelNode.property("test").isValid());
- QVERIFY(!rootModelNode.property("test").isVariantProperty());
- QVERIFY(!rootModelNode.property("test").isBindingProperty());
+ QVERIFY(rootModelNode.property("x").isValid());
+ QVERIFY(!rootModelNode.property("x").isVariantProperty());
+ QVERIFY(!rootModelNode.property("x").isBindingProperty());
- QVERIFY(rootModelNode.variantProperty("test").isValid());
- QVERIFY(!rootModelNode.hasProperty("test"));
+ QVERIFY(rootModelNode.variantProperty("x").isValid());
+ QVERIFY(!rootModelNode.hasProperty("x"));
- rootModelNode.variantProperty("test") = 70;
+ rootModelNode.variantProperty("x") = 70;
- QVERIFY(rootModelNode.hasProperty("test"));
- QVERIFY(rootModelNode.property("test").isVariantProperty());
- QCOMPARE(rootModelNode.variantProperty("test").value(), QVariant(70));
+ QVERIFY(rootModelNode.hasProperty("x"));
+ QVERIFY(rootModelNode.property("x").isVariantProperty());
+ QCOMPARE(rootModelNode.variantProperty("x").value(), QVariant(70));
- rootModelNode.bindingProperty("test") = "parent.x";
- QVERIFY(!rootModelNode.property("test").isVariantProperty());
- QVERIFY(rootModelNode.property("test").isBindingProperty());
+ rootModelNode.bindingProperty("x") = "parent.x";
+ QVERIFY(!rootModelNode.property("x").isVariantProperty());
+ QVERIFY(rootModelNode.property("x").isBindingProperty());
- QCOMPARE(rootModelNode.bindingProperty("test").expression(), QString("parent.x"));
+ QCOMPARE(rootModelNode.bindingProperty("x").expression(), QString("parent.x"));
- ModelNode childNode(addNodeListChild(rootModelNode, "Qt/Rectangle", 4 ,6, "data"));
- rootModelNode.nodeListProperty("test").reparentHere(childNode);
- QCOMPARE(childNode.parentProperty(), rootModelNode.nodeAbstractProperty("test"));
- QVERIFY(rootModelNode.property("test").isNodeAbstractProperty());
- QVERIFY(rootModelNode.property("test").isNodeListProperty());
- QVERIFY(!rootModelNode.property("test").isBindingProperty());
+ ModelNode childNode(addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1 ,0, "data"));
+ rootModelNode.nodeListProperty("data").reparentHere(childNode);
+ QCOMPARE(childNode.parentProperty(), rootModelNode.nodeAbstractProperty("data"));
+ QVERIFY(rootModelNode.property("data").isNodeAbstractProperty());
+ QVERIFY(rootModelNode.property("data").isNodeListProperty());
+ QVERIFY(!rootModelNode.property("data").isBindingProperty());
QVERIFY(childNode.parentProperty().isNodeListProperty());
QCOMPARE(childNode, childNode.parentProperty().toNodeListProperty().toModelNodeList().first());
QCOMPARE(rootModelNode, childNode.parentProperty().parentModelNode());
- QCOMPARE(childNode.parentProperty().name(), QString("test"));
+ QCOMPARE(childNode.parentProperty().name(), QString("data"));
- QVERIFY(!rootModelNode.property("test").isVariantProperty());
- rootModelNode.variantProperty("test") = 90;
- QVERIFY(rootModelNode.property("test").isVariantProperty());
- QCOMPARE(rootModelNode.variantProperty("test").value(), QVariant(90));
+ QVERIFY(!rootModelNode.property("x").isVariantProperty());
+ rootModelNode.variantProperty("x") = 90;
+ QVERIFY(rootModelNode.property("x").isVariantProperty());
+ QCOMPARE(rootModelNode.variantProperty("x").value(), QVariant(90));
}
void tst_TestCore::testBasicStates()
{
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Rectangle {\n"
"id: root;\n"
"Rectangle {\n"
@@ -1165,7 +1214,7 @@ void tst_TestCore::testBasicStates()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -1174,13 +1223,13 @@ void tst_TestCore::testBasicStates()
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&textModifier);
model->attachView(testRewriterView.data());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Rectangle"));
QVERIFY(rootModelNode.hasProperty("data"));
@@ -1213,6 +1262,7 @@ void tst_TestCore::testBasicStates()
QCOMPARE(state1.propertyChanges().count(), 2);
QCOMPARE(state2.propertyChanges().count(), 2);
+ QVERIFY(state1.propertyChanges().first().modelNode().metaInfo().isSubclassOf("<cpp>.QDeclarative1StateOperation", -1, -1));
QVERIFY(!state1.hasPropertyChanges(rootModelNode));
QVERIFY(state1.propertyChanges(rect1).isValid());
@@ -1275,10 +1325,117 @@ void tst_TestCore::testBasicStates()
// QCOMPARE(rect2Instance.property("x").toInt(), 0);
}
+void tst_TestCore::testBasicStatesQtQuick20()
+{
+ char qmlString[] = "import QtQuick 2.0\n"
+ "Rectangle {\n"
+ "id: root;\n"
+ "Rectangle {\n"
+ "id: rect1;\n"
+ "}\n"
+ "Rectangle {\n"
+ "id: rect2;\n"
+ "}\n"
+ "states: [\n"
+ "State {\n"
+ "name: \"state1\"\n"
+ "PropertyChanges {\n"
+ "target: rect1\n"
+ "}\n"
+ "PropertyChanges {\n"
+ "target: rect2\n"
+ "}\n"
+ "}\n"
+ ","
+ "State {\n"
+ "name: \"state2\"\n"
+ "PropertyChanges {\n"
+ "target: rect1\n"
+ "}\n"
+ "PropertyChanges {\n"
+ "target: rect2;\n"
+ "x: 10;\n"
+ "}\n"
+ "}\n"
+ "]\n"
+ "}\n";
+
+ Exception::setShouldAssert(true);
+
+ QPlainTextEdit textEdit;
+ textEdit.setPlainText(qmlString);
+ NotIndentingTextEditModifier textModifier(&textEdit);
+
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
+ QVERIFY(model.data());
+
+ QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
+ testRewriterView->setTextModifier(&textModifier);
+ model->attachView(testRewriterView.data());
+
+ ModelNode rootModelNode(testRewriterView->rootModelNode());
+ QVERIFY(rootModelNode.isValid());
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Rectangle"));
+ QCOMPARE(rootModelNode.majorVersion(), 2);
+ QCOMPARE(rootModelNode.majorQtQuickVersion(), 2);
+
+ qDebug() << rootModelNode.nodeListProperty("states").toModelNodeList().first().metaInfo().majorVersion();
+ qDebug() << rootModelNode.nodeListProperty("states").toModelNodeList().first().metaInfo().typeName();
+
+ MSKIP_ALL("No qml2puppet");
+
+ QScopedPointer<TestView> view(new TestView(model.data()));
+ QVERIFY(view.data());
+ model->attachView(view.data());
+
+ QVERIFY(rootModelNode.hasProperty("data"));
+
+ QVERIFY(rootModelNode.property("data").isNodeListProperty());
+
+ QCOMPARE(rootModelNode.nodeListProperty("data").toModelNodeList().count(), 2);
+
+ ModelNode rect1 = rootModelNode.nodeListProperty("data").toModelNodeList().first();
+ ModelNode rect2 = rootModelNode.nodeListProperty("data").toModelNodeList().last();
+
+ QVERIFY(QmlItemNode(rect1).isValid());
+ QVERIFY(QmlItemNode(rect2).isValid());
+
+ QVERIFY(QmlItemNode(rootModelNode).isValid());
+
+ QCOMPARE(QmlItemNode(rootModelNode).states().allStates().count(), 2);
+ QCOMPARE(QmlItemNode(rootModelNode).states().names().count(), 2);
+ QCOMPARE(QmlItemNode(rootModelNode).states().names().first(), QString("state1"));
+ QCOMPARE(QmlItemNode(rootModelNode).states().names().last(), QString("state2"));
+
+ //
+ // QmlModelState API tests
+ //
+ QmlModelState state1 = QmlItemNode(rootModelNode).states().state("state1");
+ QmlModelState state2 = QmlItemNode(rootModelNode).states().state("state2");
+
+ QVERIFY(state1.isValid());
+ QVERIFY(state2.isValid());
+
+ QCOMPARE(state1.propertyChanges().count(), 2);
+ QCOMPARE(state2.propertyChanges().count(), 2);
+
+ QVERIFY(!state1.hasPropertyChanges(rootModelNode));
+
+ QVERIFY(state1.propertyChanges(rect1).isValid());
+ QVERIFY(state1.propertyChanges(rect2).isValid());
+
+ state1.propertyChanges(rect2).modelNode().hasProperty("x");
+
+ QCOMPARE(QmlItemNode(rect1).allAffectingStates().count(), 2);
+ QCOMPARE(QmlItemNode(rect2).allAffectingStates().count(), 2);
+ QCOMPARE(QmlItemNode(rootModelNode).allAffectingStates().count(), 0);
+ QCOMPARE(QmlItemNode(rect1).allAffectingStatesOperations().count(), 2);
+ QCOMPARE(QmlItemNode(rect2).allAffectingStatesOperations().count(), 2);
+}
+
void tst_TestCore::testModelBasicOperations()
{
- QSKIP("Fix MetaInfo", SkipAll);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Flipable"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -1299,8 +1456,8 @@ void tst_TestCore::testModelBasicOperations()
QVERIFY(!rootModelNode.hasProperty("width"));
QVERIFY(!rootModelNode.hasProperty("children"));
- ModelNode childNode1(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "children"));
- ModelNode childNode2(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data"));
+ ModelNode childNode1(addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "children"));
+ ModelNode childNode2(addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data"));
QVERIFY(childNode1.isValid());
QVERIFY(childNode2.isValid());
@@ -1338,7 +1495,7 @@ void tst_TestCore::testModelBasicOperations()
void tst_TestCore::testModelResolveIds()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -1348,47 +1505,47 @@ void tst_TestCore::testModelResolveIds()
ModelNode rootNode = view->rootModelNode();
rootNode.setId("rootNode");
- ModelNode childNode1(addNodeListChild(rootNode, "Qt/Rectangle", 4, 7, "children"));
+ ModelNode childNode1(addNodeListChild(rootNode, "QtQuick.Rectangle", 1, 0, "children"));
- ModelNode childNode2(addNodeListChild(childNode1, "Qt/Rectangle", 4, 7, "children"));
+ ModelNode childNode2(addNodeListChild(childNode1, "QtQuick.Flipable", 1, 0, "children"));
childNode2.setId("childNode2");
- childNode2.bindingProperty("test").setExpression("parent.parent");
+ childNode2.bindingProperty("anchors.fill").setExpression("parent.parent");
- QCOMPARE(childNode2.bindingProperty("test").resolveToModelNode(), rootNode);
+ QCOMPARE(childNode2.bindingProperty("anchors.fill").resolveToModelNode(), rootNode);
childNode1.setId("childNode1");
- childNode2.bindingProperty("test").setExpression("childNode1.parent");
- QCOMPARE(childNode2.bindingProperty("test").resolveToModelNode(), rootNode);
- childNode2.bindingProperty("test").setExpression("rootNode");
- QCOMPARE(childNode2.bindingProperty("test").resolveToModelNode(), rootNode);
+ childNode2.bindingProperty("anchors.fill").setExpression("childNode1.parent");
+ QCOMPARE(childNode2.bindingProperty("anchors.fill").resolveToModelNode(), rootNode);
+ childNode2.bindingProperty("anchors.fill").setExpression("rootNode");
+ QCOMPARE(childNode2.bindingProperty("anchors.fill").resolveToModelNode(), rootNode);
- ModelNode childNode3(addNodeListChild(childNode2, "Qt/Rectangle", 4, 7, "children"));
+ ModelNode childNode3(addNodeListChild(childNode2, "QtQuick.Rectangle", 1, 0, "children"));
childNode3.setId("childNode3");
childNode2.nodeProperty("front").setModelNode(childNode3);
- childNode2.bindingProperty("test").setExpression("childNode3.parent");
- QCOMPARE(childNode2.bindingProperty("test").resolveToModelNode(), childNode2);
- childNode2.bindingProperty("test").setExpression("childNode3.parent.parent");
- QCOMPARE(childNode2.bindingProperty("test").resolveToModelNode(), childNode1);
- childNode2.bindingProperty("test").setExpression("childNode3.parent.parent.parent");
- QCOMPARE(childNode2.bindingProperty("test").resolveToModelNode(), rootNode);
- childNode2.bindingProperty("test").setExpression("childNode3");
- QCOMPARE(childNode2.bindingProperty("test").resolveToModelNode(), childNode3);
- childNode2.bindingProperty("test").setExpression("front");
- QCOMPARE(childNode2.bindingProperty("test").resolveToModelNode(), childNode3);
- childNode2.bindingProperty("test").setExpression("back");
- QVERIFY(!childNode2.bindingProperty("test").resolveToModelNode().isValid());
- childNode2.bindingProperty("test").setExpression("childNode3.parent.front");
- QCOMPARE(childNode2.bindingProperty("test").resolveToModelNode(), childNode3);
+ childNode2.bindingProperty("anchors.fill").setExpression("childNode3.parent");
+ QCOMPARE(childNode2.bindingProperty("anchors.fill").resolveToModelNode(), childNode2);
+ childNode2.bindingProperty("anchors.fill").setExpression("childNode3.parent.parent");
+ QCOMPARE(childNode2.bindingProperty("anchors.fill").resolveToModelNode(), childNode1);
+ childNode2.bindingProperty("anchors.fill").setExpression("childNode3.parent.parent.parent");
+ QCOMPARE(childNode2.bindingProperty("anchors.fill").resolveToModelNode(), rootNode);
+ childNode2.bindingProperty("anchors.fill").setExpression("childNode3");
+ QCOMPARE(childNode2.bindingProperty("anchors.fill").resolveToModelNode(), childNode3);
+ childNode2.bindingProperty("anchors.fill").setExpression("front");
+ QCOMPARE(childNode2.bindingProperty("anchors.fill").resolveToModelNode(), childNode3);
+ childNode2.bindingProperty("anchors.fill").setExpression("back");
+ QVERIFY(!childNode2.bindingProperty("anchors.fill").resolveToModelNode().isValid());
+ childNode2.bindingProperty("anchors.fill").setExpression("childNode3.parent.front");
+ QCOMPARE(childNode2.bindingProperty("anchors.fill").resolveToModelNode(), childNode3);
childNode2.variantProperty("x") = 10;
QCOMPARE(childNode2.variantProperty("x").value().toInt(), 10);
- childNode2.bindingProperty("test").setExpression("childNode3.parent.x");
- QVERIFY(childNode2.bindingProperty("test").resolveToProperty().isVariantProperty());
- QCOMPARE(childNode2.bindingProperty("test").resolveToProperty().toVariantProperty().value().toInt(), 10);
+ childNode2.bindingProperty("width").setExpression("childNode3.parent.x");
+ QVERIFY(childNode2.bindingProperty("width").resolveToProperty().isVariantProperty());
+ QCOMPARE(childNode2.bindingProperty("width").resolveToProperty().toVariantProperty().value().toInt(), 10);
- childNode2.bindingProperty("test").setExpression("childNode3.parent.test");
- QVERIFY(childNode2.bindingProperty("test").resolveToProperty().isBindingProperty());
- QCOMPARE(childNode2.bindingProperty("test").resolveToProperty().toBindingProperty().expression(), QString("childNode3.parent.test"));
+ childNode2.bindingProperty("width").setExpression("childNode3.parent.width");
+ QVERIFY(childNode2.bindingProperty("width").resolveToProperty().isBindingProperty());
+ QCOMPARE(childNode2.bindingProperty("width").resolveToProperty().toBindingProperty().expression(), QString("childNode3.parent.width"));
}
void tst_TestCore::testModelNodeListProperty()
@@ -1396,7 +1553,7 @@ void tst_TestCore::testModelNodeListProperty()
//
// Test NodeListProperty API
//
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -1414,7 +1571,7 @@ void tst_TestCore::testModelNodeListProperty()
QVERIFY(!rootChildren.isNodeListProperty());
QVERIFY(rootChildren.isEmpty());
- ModelNode rectNode = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode rectNode = view->createModelNode("QtQuick.Rectangle", 1, 0);
rootChildren.reparentHere(rectNode);
//
@@ -1425,7 +1582,7 @@ void tst_TestCore::testModelNodeListProperty()
QVERIFY(rootChildren.isNodeListProperty());
QVERIFY(!rootChildren.isEmpty());
- ModelNode mouseAreaNode = view->createModelNode("Qt/Item", 4, 7);
+ ModelNode mouseAreaNode = view->createModelNode("QtQuick.Item", 1, 1);
NodeListProperty rectChildren = rectNode.nodeListProperty("children");
rectChildren.reparentHere(mouseAreaNode);
@@ -1453,7 +1610,7 @@ void tst_TestCore::testModelNodeListProperty()
void tst_TestCore::testBasicOperationsWithView()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -1467,10 +1624,6 @@ void tst_TestCore::testBasicOperationsWithView()
QCOMPARE(rootModelNode.allDirectSubModelNodes().count(), 0);
NodeInstance rootInstance = nodeInstanceView->instanceForNode(rootModelNode);
- // no width, height specified implicitly is set to 100x100
- QCOMPARE(rootInstance.size().width(), 100.0);
- QCOMPARE(rootInstance.size().height(), 100.0);
-
QVERIFY(rootInstance.isValid());
QVERIFY(rootModelNode.isValid());
@@ -1484,8 +1637,8 @@ void tst_TestCore::testBasicOperationsWithView()
QCOMPARE(rootInstance.size().width(), 10.0);
QCOMPARE(rootInstance.size().height(), 10.0);
- ModelNode childNode(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data"));
- ModelNode childNode2(addNodeListChild(childNode, "Qt/Rectangle", 4, 7, "data"));
+ ModelNode childNode(addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data"));
+ ModelNode childNode2(addNodeListChild(childNode, "QtQuick.Rectangle", 1, 0, "data"));
QVERIFY(childNode2.parentProperty().parentModelNode() == childNode);
QVERIFY(childNode.isValid());
@@ -1519,10 +1672,10 @@ void tst_TestCore::testBasicOperationsWithView()
QVERIFY(!childInstance2.isValid());
}
- childNode = addNodeListChild(rootModelNode, "Qt/Image", 4, 7, "data");
+ childNode = addNodeListChild(rootModelNode, "QtQuick.Image", 1, 0, "data");
QVERIFY(childNode.isValid());
- QCOMPARE(childNode.type(), QString("Qt/Image"));
- childNode2 = addNodeListChild(childNode, "Qt/Rectangle", 4, 7, "data");
+ QCOMPARE(childNode.type(), QString("QtQuick.Image"));
+ childNode2 = addNodeListChild(childNode, "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(childNode2.isValid());
childNode2.setParentProperty(rootModelNode, "data");
QVERIFY(childNode2.isValid());
@@ -1560,7 +1713,7 @@ void tst_TestCore::testBasicOperationsWithView()
void tst_TestCore::testQmlModelView()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QmlModelView *view = new TestView(model.data());
@@ -1578,7 +1731,7 @@ void tst_TestCore::testQmlModelView()
propertyList.append(qMakePair(QString("width"), QVariant(20)));
propertyList.append(qMakePair(QString("height"), QVariant(20)));
- QmlObjectNode node1 = view->createQmlObjectNode("Qt/Rectangle", 4, 7, propertyList);
+ QmlObjectNode node1 = view->createQmlObjectNode("QtQuick.Rectangle", 1, 0, propertyList);
QVERIFY(node1.isValid());
QVERIFY(!node1.hasNodeParent());
@@ -1594,7 +1747,7 @@ void tst_TestCore::testQmlModelView()
QVERIFY(node1.instanceParent() == view->rootQmlObjectNode());
- QmlObjectNode node2 = view->createQmlObjectNode("Qt/Rectangle", 4, 7, propertyList);
+ QmlObjectNode node2 = view->createQmlObjectNode("QtQuick.Rectangle", 1, 0, propertyList);
QVERIFY(node2.isValid());
QVERIFY(!node2.hasNodeParent());
@@ -1622,12 +1775,12 @@ void tst_TestCore::testQmlModelView()
QCOMPARE(node1.instanceValue("x").toInt(), 2);
- QmlObjectNode node3 = view->createQmlObjectNode("Qt/Rectangle", 4, 7, propertyList);
- QmlObjectNode node4 = view->createQmlObjectNode("Qt/Rectangle", 4, 7, propertyList);
- QmlObjectNode node5 = view->createQmlObjectNode("Qt/Rectangle", 4, 7, propertyList);
- QmlObjectNode node6 = view->createQmlObjectNode("Qt/Rectangle", 4, 7, propertyList);
- QmlObjectNode node7 = view->createQmlObjectNode("Qt/Rectangle", 4, 7, propertyList);
- QmlObjectNode node8 = view->createQmlObjectNode("Qt/Rectangle", 4, 7, propertyList);
+ QmlObjectNode node3 = view->createQmlObjectNode("QtQuick.Rectangle", 1, 0, propertyList);
+ QmlObjectNode node4 = view->createQmlObjectNode("QtQuick.Rectangle", 1, 0, propertyList);
+ QmlObjectNode node5 = view->createQmlObjectNode("QtQuick.Rectangle", 1, 0, propertyList);
+ QmlObjectNode node6 = view->createQmlObjectNode("QtQuick.Rectangle", 1, 0, propertyList);
+ QmlObjectNode node7 = view->createQmlObjectNode("QtQuick.Rectangle", 1, 0, propertyList);
+ QmlObjectNode node8 = view->createQmlObjectNode("QtQuick.Rectangle", 1, 0, propertyList);
node3.setParentProperty(node2.nodeAbstractProperty("children"));
node4.setParentProperty(node3.nodeAbstractProperty("children"));
@@ -1655,21 +1808,20 @@ void tst_TestCore::testQmlModelView()
QCOMPARE(node2.instanceValue("x").toInt(), 10); // is this right? or should it be a invalid qvariant?
- node1 = view->createQmlObjectNode("Qt/Rectangle", 4, 7, propertyList);
+ node1 = view->createQmlObjectNode("QtQuick.Rectangle", 1, 0, propertyList);
node1.setId("node1");
QCOMPARE(node2.instanceValue("x").toInt(), 20);
- node3 = view->createQmlObjectNode("Qt/Rectangle", 4, 7, propertyList);
+ node3 = view->createQmlObjectNode("QtQuick.Rectangle", 1, 0, propertyList);
node3.setParentProperty(node2.nodeAbstractProperty("children"));
QCOMPARE(node3.instanceValue("width").toInt(), 20);
node3.setVariantProperty("width", 0);
QCOMPARE(node3.instanceValue("width").toInt(), 0);
QCOMPARE(node3.instanceValue("x").toInt(), 20);
- QVERIFY(!QDeclarativeMetaType::toQObject(node3.instanceValue("anchors.fill")));
+ //QVERIFY(!QDeclarativeMetaType::toQObject(node3.instanceValue("anchors.fill")));
node3.setBindingProperty("anchors.fill", "parent");
- QVERIFY(QDeclarativeMetaType::toQObject(node3.instanceValue("anchors.fill")));
QCOMPARE(node3.instanceValue("x").toInt(), 0);
QCOMPARE(node3.instanceValue("width").toInt(), 20);
@@ -1682,7 +1834,7 @@ void tst_TestCore::testQmlModelView()
void tst_TestCore::testModelRemoveNode()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -1695,7 +1847,7 @@ void tst_TestCore::testModelRemoveNode()
QCOMPARE(view->rootModelNode().allDirectSubModelNodes().count(), 0);
- ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(view->rootModelNode(), "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(childNode.isValid());
QCOMPARE(view->rootModelNode().allDirectSubModelNodes().count(), 1);
QVERIFY(view->rootModelNode().allDirectSubModelNodes().contains(childNode));
@@ -1707,7 +1859,7 @@ void tst_TestCore::testModelRemoveNode()
QVERIFY(childInstance.parentId() == view->rootModelNode().internalId());
}
- ModelNode subChildNode = addNodeListChild(childNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode subChildNode = addNodeListChild(childNode, "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(subChildNode.isValid());
QCOMPARE(childNode.allDirectSubModelNodes().count(), 1);
QVERIFY(childNode.allDirectSubModelNodes().contains(subChildNode));
@@ -1738,7 +1890,7 @@ void tst_TestCore::testModelRemoveNode()
QVERIFY(view->rootModelNode().isValid());
// delete node not in hierarchy
- childNode = view->createModelNode("Qt/Item", 4, 7);
+ childNode = view->createModelNode("QtQuick.Item", 1, 1);
childNode.destroy();
model->detachView(nodeInstanceView);
@@ -1746,7 +1898,7 @@ void tst_TestCore::testModelRemoveNode()
void tst_TestCore::reparentingNode()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
@@ -1763,7 +1915,7 @@ void tst_TestCore::reparentingNode()
NodeInstanceView *nodeInstanceView = new NodeInstanceView(model.data(), NodeInstanceServerInterface::TestModus);
model->attachView(nodeInstanceView);
- ModelNode childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
QCOMPARE(childNode.parentProperty().parentModelNode(), rootModelNode);
QVERIFY(rootModelNode.allDirectSubModelNodes().contains(childNode));
@@ -1773,7 +1925,7 @@ void tst_TestCore::reparentingNode()
QVERIFY(childInstance.parentId() == view->rootModelNode().internalId());
}
- ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/Item", 4, 7, "data");
+ ModelNode childNode2 = addNodeListChild(rootModelNode, "QtQuick.Item", 1, 1, "data");
QCOMPARE(childNode2.parentProperty().parentModelNode(), rootModelNode);
QVERIFY(rootModelNode.allDirectSubModelNodes().contains(childNode2));
@@ -1808,16 +1960,17 @@ void tst_TestCore::reparentingNode()
QCOMPARE(childNode.parentProperty().parentModelNode(), childNode2);
+ QApplication::processEvents();
model->detachView(nodeInstanceView);
}
void tst_TestCore::reparentingNodeLikeDragAndDrop()
{
QPlainTextEdit textEdit;
- textEdit.setPlainText("import Qt 4.7;\n\nItem {\n}\n");
+ textEdit.setPlainText("import QtQuick 1.1;\n\nItem {\n}\n");
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
@@ -1833,7 +1986,7 @@ void tst_TestCore::reparentingNodeLikeDragAndDrop()
view->rootModelNode().setId("rootModelNode");
QCOMPARE(view->rootModelNode().id(), QString("rootModelNode"));
- ModelNode rectNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 7, "data");
+ ModelNode rectNode = addNodeListChild(view->rootModelNode(), "QtQuick.Rectangle", 1, 0, "data");
rectNode.setId("rect_1");
rectNode.variantProperty("x").setValue(20);
rectNode.variantProperty("y").setValue(30);
@@ -1842,7 +1995,7 @@ void tst_TestCore::reparentingNodeLikeDragAndDrop()
RewriterTransaction transaction(view->beginRewriterTransaction());
- ModelNode textNode = addNodeListChild(view->rootModelNode(), "Qt/Text", 4, 7, "data");
+ ModelNode textNode = addNodeListChild(view->rootModelNode(), "QtQuick.Text", 1, 1, "data");
QCOMPARE(textNode.parentProperty().parentModelNode(), view->rootModelNode());
QVERIFY(view->rootModelNode().allDirectSubModelNodes().contains(textNode));
@@ -1925,12 +2078,14 @@ void tst_TestCore::reparentingNodeLikeDragAndDrop()
QCOMPARE(textNode.parentProperty().parentModelNode(), rectNode);
QVERIFY(rectNode.allDirectSubModelNodes().contains(textNode));
+ QApplication::processEvents();
+
model->detachView(nodeInstanceView);
}
void tst_TestCore::testModelReorderSiblings()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -1943,11 +2098,11 @@ void tst_TestCore::testModelReorderSiblings()
ModelNode rootModelNode = view->rootModelNode();
QVERIFY(rootModelNode.isValid());
- ModelNode a = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode a = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(a.isValid());
- ModelNode b = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode b = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(b.isValid());
- ModelNode c = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode c = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(c.isValid());
{
@@ -1976,12 +2131,14 @@ void tst_TestCore::testModelReorderSiblings()
QVERIFY(nodeInstanceView->instanceForNode(c).parentId() == rootModelNode.internalId());
}
+ QApplication::processEvents();
+
model->detachView(nodeInstanceView);
}
void tst_TestCore::testModelRootNode()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -1992,10 +2149,10 @@ void tst_TestCore::testModelRootNode()
ModelNode rootModelNode = view->rootModelNode();
QVERIFY(rootModelNode.isValid());
QVERIFY(rootModelNode.isRootNode());
- ModelNode topChildNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode topChildNode = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(topChildNode.isValid());
QVERIFY(rootModelNode.isRootNode());
- ModelNode childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(childNode.isValid());
QVERIFY(rootModelNode.isValid());
QVERIFY(rootModelNode.isRootNode());
@@ -2008,19 +2165,20 @@ void tst_TestCore::testModelRootNode()
QString errorMsg = tr("Exception: %1 %2 %3:%4").arg(exception.type(), exception.function(), exception.file()).arg(exception.line());
QFAIL(errorMsg.toLatin1().constData());
}
+ QApplication::processEvents();
}
void tst_TestCore::reparentingNodeInModificationGroup()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
model->attachView(view.data());
- ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode2 = addNodeListChild(view->rootModelNode(), "Qt/Item", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(view->rootModelNode(), "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode2 = addNodeListChild(view->rootModelNode(), "QtQuick.Item", 1, 1, "data");
childNode.variantProperty("x").setValue(10);
childNode.variantProperty("y").setValue(10);
@@ -2058,11 +2216,13 @@ void tst_TestCore::reparentingNodeInModificationGroup()
QCOMPARE(childNode2.parentProperty().parentModelNode(), view->rootModelNode());
QVERIFY(childNode2.isValid());
QVERIFY(view->rootModelNode().allDirectSubModelNodes().contains(childNode2));
+
+ QApplication::processEvents();
}
void tst_TestCore::testModelAddAndRemoveProperty()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2098,12 +2258,14 @@ void tst_TestCore::testModelAddAndRemoveProperty()
QVERIFY(node.hasProperty("foo"));
QCOMPARE(node.variantProperty("foo").value().toString(), QString("bar"));
+ QApplication::processEvents();
+
model->detachView(nodeInstanceView);
}
void tst_TestCore::testModelViewNotification()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view1(new TestView(model.data()));
@@ -2125,7 +2287,7 @@ void tst_TestCore::testModelViewNotification()
QCOMPARE(view1->methodCalls(), expectedCalls);
QCOMPARE(view2->methodCalls(), expectedCalls);
- ModelNode childNode = addNodeListChild(view2->rootModelNode(), "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(view2->rootModelNode(), "QtQuick.Rectangle", 1, 0, "data");
expectedCalls << TestView::MethodCall("nodeCreated", QStringList() << "");
expectedCalls << TestView::MethodCall("nodeReparented", QStringList() << "" << "data" << "" << "PropertiesAdded");
QCOMPARE(view1->methodCalls(), expectedCalls);
@@ -2155,7 +2317,7 @@ void tst_TestCore::testModelViewNotification()
QCOMPARE(view1->methodCalls(), expectedCalls);
QCOMPARE(view2->methodCalls(), expectedCalls);
- childNode.bindingProperty("visible").setExpression("false");
+ childNode.bindingProperty("visible").setExpression("false && true");
expectedCalls << TestView::MethodCall("propertiesAboutToBeRemoved", QStringList() << "visible");
expectedCalls << TestView::MethodCall("bindingPropertiesChanged", QStringList() << "visible" << "PropertiesAdded");
QCOMPARE(view1->methodCalls(), expectedCalls);
@@ -2170,12 +2332,14 @@ void tst_TestCore::testModelViewNotification()
model->detachView(view1.data());
expectedCalls << TestView::MethodCall("modelAboutToBeDetached", QStringList() << QString::number(reinterpret_cast<long>(model.data())));
QCOMPARE(view1->methodCalls(), expectedCalls);
+
+ QApplication::processEvents();
}
void tst_TestCore::testRewriterTransaction()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2185,7 +2349,7 @@ void tst_TestCore::testRewriterTransaction()
RewriterTransaction transaction = view->beginRewriterTransaction();
QVERIFY(transaction.isValid());
- ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(view->rootModelNode(), "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(childNode.isValid());
childNode.destroy();
@@ -2195,7 +2359,7 @@ void tst_TestCore::testRewriterTransaction()
RewriterTransaction transaction2 = view->beginRewriterTransaction();
QVERIFY(transaction2.isValid());
- ModelNode childNode = addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(view->rootModelNode(), "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(childNode.isValid());
childNode.destroy();
@@ -2222,7 +2386,7 @@ void tst_TestCore::testRewriterTransaction()
void tst_TestCore::testRewriterId()
{
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Rectangle {\n"
"}\n";
@@ -2230,7 +2394,7 @@ void tst_TestCore::testRewriterId()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2245,16 +2409,16 @@ void tst_TestCore::testRewriterId()
model->attachView(testRewriterView.data());
- QCOMPARE(rootModelNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Rectangle"));
QVERIFY(rootModelNode.isValid());
- ModelNode newNode(view->createModelNode("Qt/Rectangle", 4, 7));
+ ModelNode newNode(view->createModelNode("QtQuick.Rectangle", 1, 0));
newNode.setId("testId");
rootModelNode.nodeListProperty("data").reparentHere(newNode);
- const QLatin1String expected("import Qt 4.7\n"
+ const QLatin1String expected("import QtQuick 1.1\n"
"Rectangle {\n"
"Rectangle {\n"
" id: testId\n"
@@ -2266,7 +2430,7 @@ void tst_TestCore::testRewriterId()
void tst_TestCore::testRewriterNodeReparentingTransaction1()
{
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Rectangle {\n"
"}\n";
@@ -2274,7 +2438,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction1()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2283,7 +2447,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction1()
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&textModifier);
@@ -2291,12 +2455,12 @@ void tst_TestCore::testRewriterNodeReparentingTransaction1()
QVERIFY(rootModelNode.isValid());
- ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode3 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode4 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode1 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode2 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode3 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode4 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
- ModelNode reparentNode = addNodeListChild(childNode1, "Qt/Rectangle", 4, 7, "data");
+ ModelNode reparentNode = addNodeListChild(childNode1, "QtQuick.Rectangle", 1, 0, "data");
RewriterTransaction rewriterTransaction = view->beginRewriterTransaction();
@@ -2311,7 +2475,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction1()
void tst_TestCore::testRewriterNodeReparentingTransaction2()
{
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Rectangle {\n"
"}\n";
@@ -2319,7 +2483,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction2()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2328,7 +2492,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction2()
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&textModifier);
@@ -2336,8 +2500,8 @@ void tst_TestCore::testRewriterNodeReparentingTransaction2()
QVERIFY(rootModelNode.isValid());
- ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode1 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode2 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
childNode2.variantProperty("x") = 200;
childNode2.variantProperty("y") = 50;
@@ -2377,7 +2541,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction2()
void tst_TestCore::testRewriterNodeReparentingTransaction3()
{
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Rectangle {\n"
"}\n";
@@ -2385,7 +2549,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction3()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2394,7 +2558,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction3()
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&textModifier);
@@ -2402,10 +2566,10 @@ void tst_TestCore::testRewriterNodeReparentingTransaction3()
QVERIFY(rootModelNode.isValid());
- ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode3 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode4 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode1 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode2 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode3 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode4 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
RewriterTransaction rewriterTransaction = view->beginRewriterTransaction();
@@ -2427,7 +2591,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction3()
void tst_TestCore::testRewriterNodeReparentingTransaction4()
{
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Rectangle {\n"
"}\n";
@@ -2435,7 +2599,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction4()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2444,7 +2608,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction4()
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&textModifier);
@@ -2452,11 +2616,11 @@ void tst_TestCore::testRewriterNodeReparentingTransaction4()
QVERIFY(rootModelNode.isValid());
- ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode3 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode4 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
- ModelNode childNode5 = addNodeListChild(childNode2, "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode1 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode2 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode3 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode4 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
+ ModelNode childNode5 = addNodeListChild(childNode2, "QtQuick.Rectangle", 1, 0, "data");
RewriterTransaction rewriterTransaction = view->beginRewriterTransaction();
@@ -2478,7 +2642,7 @@ void tst_TestCore::testRewriterNodeReparentingTransaction4()
void tst_TestCore::testRewriterAddNodeTransaction()
{
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Rectangle {\n"
"}\n";
@@ -2486,7 +2650,7 @@ void tst_TestCore::testRewriterAddNodeTransaction()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2495,7 +2659,7 @@ void tst_TestCore::testRewriterAddNodeTransaction()
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&textModifier);
@@ -2504,11 +2668,11 @@ void tst_TestCore::testRewriterAddNodeTransaction()
QVERIFY(rootModelNode.isValid());
- ModelNode childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
RewriterTransaction rewriterTransaction = view->beginRewriterTransaction();
- ModelNode newNode = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode newNode = view->createModelNode("QtQuick.Rectangle", 1, 0);
newNode.variantProperty("x") = 100;
newNode.variantProperty("y") = 100;
@@ -2520,7 +2684,7 @@ void tst_TestCore::testRewriterAddNodeTransaction()
void tst_TestCore::testRewriterComponentId()
{
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Rectangle {\n"
" Component {\n"
" id: testComponent\n"
@@ -2533,7 +2697,7 @@ void tst_TestCore::testRewriterComponentId()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2546,17 +2710,17 @@ void tst_TestCore::testRewriterComponentId()
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Rectangle"));
ModelNode component(rootModelNode.allDirectSubModelNodes().first());
QVERIFY(component.isValid());
- QCOMPARE(component.type(), QString("Qt/Component"));
+ QCOMPARE(component.type(), QString("QtQuick.Component"));
QCOMPARE(component.id(), QString("testComponent"));
}
void tst_TestCore::testRewriterTransactionRewriter()
{
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Rectangle {\n"
"}\n";
@@ -2564,7 +2728,7 @@ void tst_TestCore::testRewriterTransactionRewriter()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2573,7 +2737,7 @@ void tst_TestCore::testRewriterTransactionRewriter()
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&textModifier);
@@ -2586,7 +2750,7 @@ void tst_TestCore::testRewriterTransactionRewriter()
{
RewriterTransaction transaction = view->beginRewriterTransaction();
- childNode1 = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ childNode1 = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
childNode1.variantProperty("x") = 10;
childNode1.variantProperty("y") = 10;
}
@@ -2598,7 +2762,7 @@ void tst_TestCore::testRewriterTransactionRewriter()
{
RewriterTransaction transaction = view->beginRewriterTransaction();
- childNode2 = addNodeListChild(childNode1, "Qt/Rectangle", 4, 7, "data");
+ childNode2 = addNodeListChild(childNode1, "QtQuick.Rectangle", 1, 0, "data");
childNode2.destroy();
}
@@ -2623,7 +2787,7 @@ void tst_TestCore::testRewriterPropertyDeclarations()
// property variant myArray: [ Rectangle {} ]
// property variant someGradient: Gradient {}
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Item {\n"
" property int intProperty\n"
" property bool boolProperty: true\n"
@@ -2636,7 +2800,7 @@ void tst_TestCore::testRewriterPropertyDeclarations()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2654,7 +2818,7 @@ void tst_TestCore::testRewriterPropertyDeclarations()
//
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Item"));
QCOMPARE(rootModelNode.properties().size(), 4);
@@ -2687,7 +2851,7 @@ void tst_TestCore::testRewriterPropertyAliases()
// where type is (int | bool | double | real | string | url | color | date | variant)
//
- char qmlString[] = "import Qt 4.7\n"
+ char qmlString[] = "import QtQuick 1.1\n"
"Item {\n"
" property alias theText: t.text\n"
" default alias property yPos: t.y\n"
@@ -2698,7 +2862,7 @@ void tst_TestCore::testRewriterPropertyAliases()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2711,7 +2875,7 @@ void tst_TestCore::testRewriterPropertyAliases()
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Item"));
QList<AbstractProperty> properties = rootModelNode.properties();
QCOMPARE(properties.size(), 0); // TODO: How to represent alias properties? As Bindings?
@@ -2720,7 +2884,7 @@ void tst_TestCore::testRewriterPropertyAliases()
void tst_TestCore::testRewriterPositionAndOffset()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" id: root\n"
@@ -2758,7 +2922,7 @@ void tst_TestCore::testRewriterPositionAndOffset()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2771,7 +2935,7 @@ void tst_TestCore::testRewriterPositionAndOffset()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Rectangle"));
QString string = QString(qmlString).mid(testRewriterView->nodeOffset(rootNode), testRewriterView->nodeLength(rootNode));
const QString qmlExpected0("Rectangle {\n"
@@ -2837,7 +3001,7 @@ void tst_TestCore::testRewriterPositionAndOffset()
void tst_TestCore::testRewriterComponentTextModifier()
{
- const QString qmlString("import Qt 4.7\n"
+ const QString qmlString("import QtQuick 1.1\n"
"Rectangle {\n"
" id: root\n"
" x: 10;\n"
@@ -2860,7 +3024,7 @@ void tst_TestCore::testRewriterComponentTextModifier()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2873,7 +3037,7 @@ void tst_TestCore::testRewriterComponentTextModifier()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Rectangle"));
ModelNode componentNode = rootNode.allDirectSubModelNodes().last();
@@ -2884,7 +3048,7 @@ void tst_TestCore::testRewriterComponentTextModifier()
ComponentTextModifier componentTextModifier(&textModifier, componentStartOffset, componentEndOffset, rootStartOffset);
- const QString qmlExpected("import Qt 4.7\n"
+ const QString qmlExpected("import QtQuick 1.1\n"
" "
" "
" "
@@ -2905,19 +3069,20 @@ void tst_TestCore::testRewriterComponentTextModifier()
QCOMPARE(componentTextModifier.text(), qmlExpected);
- QScopedPointer<Model> componentModel(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> componentModel(Model::create("QtQuick.Item", 1, 1));
QScopedPointer<TestRewriterView> testRewriterViewComponent(new TestRewriterView());
testRewriterViewComponent->setTextModifier(&componentTextModifier);
componentModel->attachView(testRewriterViewComponent.data());
ModelNode componentrootNode = testRewriterViewComponent->rootModelNode();
QVERIFY(componentrootNode.isValid());
- QCOMPARE(componentrootNode.type(), QLatin1String("Qt/Component"));
+ //The <Component> node is skipped
+ QCOMPARE(componentrootNode.type(), QLatin1String("QtQuick.Rectangle"));
}
void tst_TestCore::testRewriterPreserveType()
{
- const QString qmlString("import Qt 4.7\n"
+ const QString qmlString("import QtQuick 1.1\n"
"Rectangle {\n"
" id: root\n"
" Text {\n"
@@ -2930,7 +3095,7 @@ void tst_TestCore::testRewriterPreserveType()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2943,7 +3108,7 @@ void tst_TestCore::testRewriterPreserveType()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Rectangle"));
ModelNode textNode = rootNode.allDirectSubModelNodes().first();
QCOMPARE(QVariant::Bool, textNode.variantProperty("font.bold").value().type());
@@ -2952,7 +3117,7 @@ void tst_TestCore::testRewriterPreserveType()
textNode.variantProperty("font.bold") = QVariant(true);
textNode.variantProperty("font.pointSize") = QVariant(13.0);
- ModelNode newTextNode = addNodeListChild(rootNode, "Qt/Text", 4, 7, "data");
+ ModelNode newTextNode = addNodeListChild(rootNode, "QtQuick.Text", 1, 1, "data");
newTextNode.variantProperty("font.bold") = QVariant(true);
newTextNode.variantProperty("font.pointSize") = QVariant(13.0);
@@ -2964,7 +3129,7 @@ void tst_TestCore::testRewriterPreserveType()
void tst_TestCore::testRewriterForArrayMagic()
{
try {
- const QLatin1String qmlString("import Qt 4.7\n"
+ const QLatin1String qmlString("import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" states: State {\n"
@@ -2975,7 +3140,7 @@ void tst_TestCore::testRewriterForArrayMagic()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -2988,16 +3153,16 @@ void tst_TestCore::testRewriterForArrayMagic()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
QVERIFY(rootNode.property(QLatin1String("states")).isNodeListProperty());
QmlItemNode rootItem(rootNode);
QVERIFY(rootItem.isValid());
QmlModelState state1(rootItem.states().addState("s2"));
- QCOMPARE(state1.modelNode().type(), QString("Qt/State"));
+ QCOMPARE(state1.modelNode().type(), QString("QtQuick.State"));
- const QLatin1String expected("import Qt 4.7\n"
+ const QLatin1String expected("import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" states: [\n"
@@ -3018,7 +3183,7 @@ void tst_TestCore::testRewriterForArrayMagic()
void tst_TestCore::testRewriterWithSignals()
{
- const QLatin1String qmlString("import Qt 4.7\n"
+ const QLatin1String qmlString("import QtQuick 1.1\n"
"\n"
"TextEdit {\n"
" onTextChanged: { print(\"foo\"); }\n"
@@ -3027,7 +3192,7 @@ void tst_TestCore::testRewriterWithSignals()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -3040,7 +3205,7 @@ void tst_TestCore::testRewriterWithSignals()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/TextEdit"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.TextEdit"));
QmlItemNode rootItem(rootNode);
QVERIFY(rootItem.isValid());
@@ -3050,7 +3215,7 @@ void tst_TestCore::testRewriterWithSignals()
void tst_TestCore::testRewriterNodeSliding()
{
- const QLatin1String qmlString("import Qt 4.7\n"
+ const QLatin1String qmlString("import QtQuick 1.1\n"
"Rectangle {\n"
" id: root\n"
" Rectangle {\n"
@@ -3070,7 +3235,7 @@ void tst_TestCore::testRewriterNodeSliding()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -3083,7 +3248,7 @@ void tst_TestCore::testRewriterNodeSliding()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Rectangle"));
QCOMPARE(rootNode.id(), QLatin1String("root"));
QCOMPARE(rootNode.nodeListProperty(QLatin1String("data")).toModelNodeList().at(0).id(), QLatin1String("rectangle1"));
@@ -3102,7 +3267,7 @@ void tst_TestCore::testRewriterNodeSliding()
void tst_TestCore::testRewriterExceptionHandling()
{
- const QLatin1String qmlString("import Qt 4.7\n"
+ const QLatin1String qmlString("import QtQuick 1.1\n"
"Text {\n"
"}");
@@ -3110,7 +3275,7 @@ void tst_TestCore::testRewriterExceptionHandling()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Text", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Text", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -3123,7 +3288,7 @@ void tst_TestCore::testRewriterExceptionHandling()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Text"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Text"));
try
{
@@ -3132,9 +3297,9 @@ void tst_TestCore::testRewriterExceptionHandling()
rootNode.variantProperty("bla") = QVariant("blah");
transaction.commit();
QFAIL("RewritingException should be thrown");
- } catch (RewritingException &e) {
+ } catch (RewritingException &) {
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Text"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Text"));
QVERIFY(!rootNode.hasProperty("bla"));
QVERIFY(!rootNode.hasProperty("text"));
}
@@ -3142,7 +3307,7 @@ void tst_TestCore::testRewriterExceptionHandling()
void tst_TestCore::testRewriterFirstDefinitionInside()
{
- const QString qmlString("import Qt 4.7\n"
+ const QString qmlString("import QtQuick 1.1\n"
"Rectangle {\n"
" id: root\n"
" x: 10;\n"
@@ -3166,7 +3331,7 @@ void tst_TestCore::testRewriterFirstDefinitionInside()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -3179,7 +3344,7 @@ void tst_TestCore::testRewriterFirstDefinitionInside()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Rectangle"));
ModelNode componentNode = rootNode.allDirectSubModelNodes().last();
@@ -3198,7 +3363,7 @@ void tst_TestCore::testRewriterFirstDefinitionInside()
void tst_TestCore::testCopyModelRewriter1()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" id: root\n"
@@ -3236,7 +3401,7 @@ void tst_TestCore::testCopyModelRewriter1()
textEdit1.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model1.data());
QScopedPointer<TestView> view1(new TestView(model1.data()));
@@ -3249,13 +3414,13 @@ void tst_TestCore::testCopyModelRewriter1()
ModelNode rootNode1 = view1->rootModelNode();
QVERIFY(rootNode1.isValid());
- QCOMPARE(rootNode1.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode1.type(), QLatin1String("QtQuick.Rectangle"));
QPlainTextEdit textEdit2;
textEdit2.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier2(&textEdit2);
- QScopedPointer<Model> model2(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model2(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model2.data());
QScopedPointer<TestView> view2(new TestView(model2.data()));
@@ -3268,7 +3433,7 @@ void tst_TestCore::testCopyModelRewriter1()
ModelNode rootNode2 = view2->rootModelNode();
QVERIFY(rootNode2.isValid());
- QCOMPARE(rootNode2.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode2.type(), QLatin1String("QtQuick.Rectangle"));
//
@@ -3293,7 +3458,7 @@ void tst_TestCore::testCopyModelRewriter1()
const QLatin1String expected(
"\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" id: root\n"
@@ -3368,7 +3533,7 @@ void tst_TestCore::testCopyModelRewriter1()
void tst_TestCore::testCopyModelRewriter2()
{
const QLatin1String qmlString1("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"id: root\n"
@@ -3408,7 +3573,7 @@ void tst_TestCore::testCopyModelRewriter2()
const QLatin1String qmlString2("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"}");
@@ -3417,7 +3582,7 @@ void tst_TestCore::testCopyModelRewriter2()
textEdit1.setPlainText(qmlString1);
NotIndentingTextEditModifier textModifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model1.data());
QScopedPointer<TestView> view1(new TestView(model1.data()));
@@ -3430,7 +3595,7 @@ void tst_TestCore::testCopyModelRewriter2()
ModelNode rootNode1 = view1->rootModelNode();
QVERIFY(rootNode1.isValid());
- QCOMPARE(rootNode1.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode1.type(), QLatin1String("QtQuick.Rectangle"));
// read in 2
@@ -3439,7 +3604,7 @@ void tst_TestCore::testCopyModelRewriter2()
textEdit2.setPlainText(qmlString2);
NotIndentingTextEditModifier textModifier2(&textEdit2);
- QScopedPointer<Model> model2(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model2(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model2.data());
QScopedPointer<TestView> view2(new TestView(model2.data()));
@@ -3451,7 +3616,7 @@ void tst_TestCore::testCopyModelRewriter2()
ModelNode rootNode2 = view2->rootModelNode();
QVERIFY(rootNode2.isValid());
- QCOMPARE(rootNode2.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode2.type(), QLatin1String("QtQuick.Rectangle"));
//
@@ -3460,7 +3625,7 @@ void tst_TestCore::testCopyModelRewriter2()
merger.replaceModel(rootNode1);
QVERIFY(rootNode2.isValid());
- QCOMPARE(rootNode2.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode2.type(), QLatin1String("QtQuick.Rectangle"));
QCOMPARE(textEdit2.toPlainText(), qmlString1);
}
@@ -3475,9 +3640,9 @@ void tst_TestCore::testSubComponentManager()
textEdit.setPlainText(file.readAll());
NotIndentingTextEditModifier modifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
model->setFileUrl(QUrl::fromLocalFile(fileName));
- QScopedPointer<SubComponentManager> subComponentManager(new SubComponentManager(model->metaInfo(), 0));
+ QScopedPointer<SubComponentManager> subComponentManager(new SubComponentManager(model.data()));
subComponentManager->update(QUrl::fromLocalFile(fileName), model->imports());
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
@@ -3489,9 +3654,9 @@ void tst_TestCore::testSubComponentManager()
QVERIFY(testRewriterView->rootModelNode().isValid());
- QVERIFY(model->metaInfo("Qt/Rectangle").propertyNames().contains("border.width"));
+ QVERIFY(model->metaInfo("QtQuick.Rectangle").propertyNames().contains("border.width"));
- QVERIFY(model->metaInfo("Qt/Pen").isValid());
+ QVERIFY(model->metaInfo("<cpp>.QDeclarative1Pen").isValid());
NodeMetaInfo myButtonMetaInfo = model->metaInfo("MyButton");
QVERIFY(myButtonMetaInfo.isValid());
QVERIFY(myButtonMetaInfo.propertyNames().contains("border.width"));
@@ -3500,7 +3665,7 @@ void tst_TestCore::testSubComponentManager()
void tst_TestCore::testAnchorsAndRewriting()
{
- const QString qmlString("import Qt 4.7\n"
+ const QString qmlString("import QtQuick 1.1\n"
"Rectangle {\n"
" id: root\n"
" x: 10;\n"
@@ -3523,7 +3688,7 @@ void tst_TestCore::testAnchorsAndRewriting()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -3536,7 +3701,7 @@ void tst_TestCore::testAnchorsAndRewriting()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Rectangle"));
QmlItemNode rootItemNode = view->rootQmlItemNode();
QVERIFY(rootItemNode.isValid());
@@ -3561,7 +3726,7 @@ void tst_TestCore::testAnchorsAndRewriting()
void tst_TestCore::testAnchorsAndRewritingCenter()
{
- const QString qmlString("import Qt 4.7\n"
+ const QString qmlString("import QtQuick 1.1\n"
"Rectangle {\n"
" id: root\n"
" x: 10;\n"
@@ -3584,7 +3749,7 @@ void tst_TestCore::testAnchorsAndRewritingCenter()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -3597,7 +3762,7 @@ void tst_TestCore::testAnchorsAndRewritingCenter()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Rectangle"));
QmlItemNode rootItemNode = view->rootQmlItemNode();
QVERIFY(rootItemNode.isValid());
@@ -3611,7 +3776,7 @@ void tst_TestCore::testAnchorsAndRewritingCenter()
void tst_TestCore::loadQml()
{
-char qmlString[] = "import Qt 4.7\n"
+char qmlString[] = "import QtQuick 1.1\n"
"Rectangle {\n"
"id: root;\n"
"width: 200;\n"
@@ -3652,7 +3817,7 @@ char qmlString[] = "import Qt 4.7\n"
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -3661,14 +3826,14 @@ char qmlString[] = "import Qt 4.7\n"
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
testRewriterView->setTextModifier(&textModifier);
model->attachView(testRewriterView.data());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Rectangle"));
QCOMPARE(rootModelNode.id(), QString("root"));
QCOMPARE(rootModelNode.variantProperty("width").value().toInt(), 200);
QCOMPARE(rootModelNode.variantProperty("height").value().toInt(), 200);
@@ -3678,7 +3843,7 @@ char qmlString[] = "import Qt 4.7\n"
QCOMPARE(rootModelNode.nodeListProperty("data").toModelNodeList().count(), 3);
ModelNode textNode1 = rootModelNode.nodeListProperty("data").toModelNodeList().first();
QVERIFY(textNode1.isValid());
- QCOMPARE(textNode1.type(), QString("Qt/Text"));
+ QCOMPARE(textNode1.type(), QString("QtQuick.Text"));
QCOMPARE(textNode1.id(), QString("text1"));
QCOMPARE(textNode1.variantProperty("text").value().toString(), QString("Hello World"));
QVERIFY(textNode1.hasProperty("anchors.centerIn"));
@@ -3694,13 +3859,13 @@ char qmlString[] = "import Qt 4.7\n"
ModelNode rectNode = rootModelNode.nodeListProperty("data").toModelNodeList().at(1);
QVERIFY(rectNode.isValid());
- QCOMPARE(rectNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rectNode.type(), QString("QtQuick.Rectangle"));
QCOMPARE(rectNode.id(), QString("rectangle"));
QVERIFY(rectNode.hasProperty("gradient"));
QVERIFY(rectNode.property("gradient").isNodeProperty());
ModelNode gradientNode = rectNode.nodeProperty("gradient").modelNode();
QVERIFY(gradientNode.isValid());
- QCOMPARE(gradientNode.type(), QString("Qt/Gradient"));
+ QCOMPARE(gradientNode.type(), QString("QtQuick.Gradient"));
QVERIFY(gradientNode.hasProperty("stops"));
QVERIFY(gradientNode.property("stops").isNodeListProperty());
QCOMPARE(gradientNode.nodeListProperty("stops").toModelNodeList().count(), 2);
@@ -3711,15 +3876,15 @@ char qmlString[] = "import Qt 4.7\n"
QVERIFY(stop1.isValid());
QVERIFY(stop2.isValid());
- QCOMPARE(stop1.type(), QString("Qt/GradientStop"));
- QCOMPARE(stop2.type(), QString("Qt/GradientStop"));
+ QCOMPARE(stop1.type(), QString("QtQuick.GradientStop"));
+ QCOMPARE(stop2.type(), QString("QtQuick.GradientStop"));
QCOMPARE(stop1.variantProperty("position").value().toInt(), 0);
QCOMPARE(stop2.variantProperty("position").value().toInt(), 1);
ModelNode textNode2 = rootModelNode.nodeListProperty("data").toModelNodeList().last();
QVERIFY(textNode2.isValid());
- QCOMPARE(textNode2.type(), QString("Qt/Text"));
+ QCOMPARE(textNode2.type(), QString("QtQuick.Text"));
QCOMPARE(textNode2.id(), QString("text2"));
QCOMPARE(textNode2.variantProperty("width").value().toInt(), 80);
QCOMPARE(textNode2.variantProperty("height").value().toInt(), 20);
@@ -3730,105 +3895,83 @@ char qmlString[] = "import Qt 4.7\n"
void tst_TestCore::testMetaInfo()
{
- QSKIP("Fix metainfo", SkipAll);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
+ model->changeImports(QList<Import>() << Import::createLibraryImport("QtWebKit", "1.0"), QList<Import>());
// test whether default type is registered
- QVERIFY(model->metaInfo("Qt/Item", 4, 7).isValid());
+ QVERIFY(model->metaInfo("QtQuick.Item", -1, -1).isValid());
// test whether types from plugins are registered
- QVERIFY(model->hasNodeMetaInfo("QtWebKit/WebView", 1, 0));
+ QVERIFY(model->hasNodeMetaInfo("QtWebKit.WebView", -1, -1));
// test whether non-qml type is registered
- QVERIFY(model->hasNodeMetaInfo("QGraphicsObject", 4, 7)); // Qt 4.7 namespace
- QVERIFY(model->hasNodeMetaInfo("QGraphicsObject", 1, 0)); // webkit 1.0 namespace
+ QVERIFY(model->hasNodeMetaInfo("<cpp>.QGraphicsObject", -1, -1)); // Qt 4.7 namespace
}
void tst_TestCore::testMetaInfoSimpleType()
{
- QSKIP("Fix metainfo", SkipAll);
- //
- // Test type registered with qmlRegisterType:
- //
- // qmlRegisterType<QDeclarativeItem>("Qt",4,7,"Item")
- //
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
- QVERIFY(model->hasNodeMetaInfo("Qt/Item", 4, 7));
- QVERIFY(model->hasNodeMetaInfo("Qt/Item", 4, 7));
+ QVERIFY(model->hasNodeMetaInfo("QtQuick.Item", 1, 1));
+ QVERIFY(model->hasNodeMetaInfo("QtQuick.Item", 1, 1));
- NodeMetaInfo itemMetaInfo = model->metaInfo("Qt/Item", 4, 7);
- NodeMetaInfo itemMetaInfo2 = model->metaInfo("Qt/Item", 4, 7);
+ NodeMetaInfo itemMetaInfo = model->metaInfo("QtQuick.Item", 1, 1);
+ NodeMetaInfo itemMetaInfo2 = model->metaInfo("QtQuick.Item", 1, 1);
QVERIFY(itemMetaInfo.isValid());
- QCOMPARE(itemMetaInfo.typeName(), QLatin1String("Qt/Item"));
- QCOMPARE(itemMetaInfo.majorVersion(), 4);
- QCOMPARE(itemMetaInfo.minorVersion(), 7);
+ QCOMPARE(itemMetaInfo.typeName(), QLatin1String("QtQuick.Item"));
+ QCOMPARE(itemMetaInfo.majorVersion(), 1);
+ QCOMPARE(itemMetaInfo.minorVersion(), 1);
// super classes
NodeMetaInfo graphicsObjectInfo = itemMetaInfo.directSuperClass();
QVERIFY(graphicsObjectInfo.isValid());
- QCOMPARE(graphicsObjectInfo.typeName(), QLatin1String("QGraphicsObject"));
+ QCOMPARE(graphicsObjectInfo.typeName(), QLatin1String("QtQuick.QGraphicsObject"));
QCOMPARE(graphicsObjectInfo.majorVersion(), -1);
QCOMPARE(graphicsObjectInfo.minorVersion(), -1);
- QCOMPARE(itemMetaInfo.superClasses().size(), 2); // QGraphicsObject, Qt/QtObject
- QVERIFY(itemMetaInfo.isSubclassOf("QGraphicsObject", 4, 7));
- QVERIFY(itemMetaInfo.isSubclassOf("Qt/QtObject", 4, 7));
+ QCOMPARE(itemMetaInfo.superClasses().size(), 3); // Item, QGraphicsObject, QtQuick.QtObject
+ QVERIFY(itemMetaInfo.isSubclassOf("QtQuick.QGraphicsObject", -1, -1));
+ QVERIFY(itemMetaInfo.isSubclassOf("<cpp>.QObject", -1, -1));
// availableInVersion
- QVERIFY(itemMetaInfo.availableInVersion(4, 7));
- QVERIFY(itemMetaInfo.availableInVersion(4, 8));
- QVERIFY(itemMetaInfo.availableInVersion(5, 0));
+ QVERIFY(itemMetaInfo.availableInVersion(1, 1));
+ QVERIFY(itemMetaInfo.availableInVersion(1, 0));
QVERIFY(itemMetaInfo.availableInVersion(-1, -1));
- QVERIFY(!itemMetaInfo.availableInVersion(4, 6));
- QVERIFY(!itemMetaInfo.availableInVersion(3, 7));
}
void tst_TestCore::testMetaInfoUncreatableType()
{
- QSKIP("Fix metainfo", SkipAll);
- // Test type registered with qmlRegisterUncreatableType or qmlRegisterTypeNotAvailable:
- //
- // qmlRegisterUncreatableType<QDeclarativeAbstractAnimation>("Qt",4,7,"Animation",QDeclarativeAbstractAnimation::tr("Animation is an abstract class"));
- //
-
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
- QVERIFY(model->hasNodeMetaInfo("Qt/Animation"));
- NodeMetaInfo animationTypeInfo = model->metaInfo("Qt/Animation", 4, 7);
+ QVERIFY(model->hasNodeMetaInfo("QtQuick.Animation"));
+ NodeMetaInfo animationTypeInfo = model->metaInfo("QtQuick.Animation", 1, 1);
QVERIFY(animationTypeInfo.isValid());
QVERIFY(animationTypeInfo.isValid());
- QCOMPARE(animationTypeInfo.typeName(), QLatin1String("Qt/Animation"));
- QCOMPARE(animationTypeInfo.majorVersion(), 4);
- QCOMPARE(animationTypeInfo.minorVersion(), 7);
+ QCOMPARE(animationTypeInfo.typeName(), QLatin1String("QtQuick.Animation"));
+ QCOMPARE(animationTypeInfo.majorVersion(), 1);
+ QCOMPARE(animationTypeInfo.minorVersion(), 1);
NodeMetaInfo qObjectTypeInfo = animationTypeInfo.directSuperClass();
QVERIFY(qObjectTypeInfo.isValid());
- QCOMPARE(qObjectTypeInfo.typeName(), QLatin1String("Qt/QtObject"));
- QCOMPARE(qObjectTypeInfo.majorVersion(), 4);
- QCOMPARE(qObjectTypeInfo.minorVersion(), 7);
- QCOMPARE(animationTypeInfo.superClasses().size(), 1);
+ QCOMPARE(qObjectTypeInfo.typeName(), QLatin1String("QtQuick.QtObject"));
+ QCOMPARE(qObjectTypeInfo.majorVersion(), 1);
+ QCOMPARE(qObjectTypeInfo.minorVersion(), 0);
+ QCOMPARE(animationTypeInfo.superClasses().size(), 2);
}
void tst_TestCore::testMetaInfoExtendedType()
{
- QSKIP("Fix metainfo", SkipAll);
- // Test type registered with qmlRegisterExtendedType
- //
- // qmlRegisterExtendedType<QGraphicsWidget,QDeclarativeGraphicsWidget>("Qt",4,7,"QGraphicsWidget");
- //
-
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
- QVERIFY(model->hasNodeMetaInfo("Qt/QGraphicsWidget"));
- NodeMetaInfo graphicsWidgetTypeInfo = model->metaInfo("Qt/QGraphicsWidget", 4, 7);
+ QVERIFY(model->hasNodeMetaInfo("QtQuick.QGraphicsWidget"));
+ NodeMetaInfo graphicsWidgetTypeInfo = model->metaInfo("QtQuick.QGraphicsWidget", 1, 1);
QVERIFY(graphicsWidgetTypeInfo.isValid());
QVERIFY(graphicsWidgetTypeInfo.hasProperty("layout")); // from QGraphicsWidgetDeclarativeUI
QVERIFY(graphicsWidgetTypeInfo.hasProperty("font")); // from QGraphicsWidget
@@ -3836,10 +3979,10 @@ void tst_TestCore::testMetaInfoExtendedType()
NodeMetaInfo graphicsObjectTypeInfo = graphicsWidgetTypeInfo.directSuperClass();
QVERIFY(graphicsObjectTypeInfo.isValid());
- QCOMPARE(graphicsObjectTypeInfo.typeName(), QLatin1String("QGraphicsObject"));
+ QCOMPARE(graphicsObjectTypeInfo.typeName(), QLatin1String("<cpp>.QGraphicsObject"));
QCOMPARE(graphicsObjectTypeInfo.majorVersion(), -1);
QCOMPARE(graphicsObjectTypeInfo.minorVersion(), -1);
- QCOMPARE(graphicsWidgetTypeInfo.superClasses().size(), 2);
+ QCOMPARE(graphicsWidgetTypeInfo.superClasses().size(), 3);
}
void tst_TestCore::testMetaInfoInterface()
@@ -3847,22 +3990,16 @@ void tst_TestCore::testMetaInfoInterface()
// Test type registered with qmlRegisterInterface
//
- QSKIP("TODO: Test not implemented yet", SkipAll);
+ MSKIP_ALL("TODO: Test not implemented yet");
}
void tst_TestCore::testMetaInfoCustomType()
{
- QSKIP("Fix metainfo", SkipAll);
-
- // Test type registered with qmlRegisterCustomType:
- //
- // qmlRegisterCustomType<QDeclarativePropertyChanges>("Qt", 4, 7, "PropertyChanges", new QDeclarativePropertyChangesParser);
-
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
- QVERIFY(model->hasNodeMetaInfo("Qt/PropertyChanges"));
- NodeMetaInfo propertyChangesInfo = model->metaInfo("Qt/PropertyChanges", 4, 7);
+ QVERIFY(model->hasNodeMetaInfo("QtQuick.PropertyChanges"));
+ NodeMetaInfo propertyChangesInfo = model->metaInfo("QtQuick.PropertyChanges", 1, 1);
QVERIFY(propertyChangesInfo.isValid());
QVERIFY(propertyChangesInfo.hasProperty("target")); // from QDeclarativePropertyChanges
QVERIFY(propertyChangesInfo.hasProperty("restoreEntryValues")); // from QDeclarativePropertyChanges
@@ -3870,27 +4007,27 @@ void tst_TestCore::testMetaInfoCustomType()
NodeMetaInfo stateOperationInfo = propertyChangesInfo.directSuperClass();
QVERIFY(stateOperationInfo.isValid());
- QCOMPARE(stateOperationInfo.typeName(), QLatin1String("QDeclarativeStateOperation"));
+ QCOMPARE(stateOperationInfo.typeName(), QLatin1String("QtQuick.QDeclarative1StateOperation"));
QCOMPARE(stateOperationInfo.majorVersion(), -1);
QCOMPARE(stateOperationInfo.minorVersion(), -1);
- QCOMPARE(propertyChangesInfo.superClasses().size(), 2);
+ QCOMPARE(propertyChangesInfo.superClasses().size(), 3);
// DeclarativePropertyChanges just has 3 properties
QCOMPARE(propertyChangesInfo.propertyNames().size() - stateOperationInfo.propertyNames().size(), 3);
+
+ QApplication::processEvents();
}
void tst_TestCore::testMetaInfoEnums()
{
- QSKIP("Fix metainfo", SkipAll);
-
- QScopedPointer<Model> model(Model::create("Qt/Text"));
+ QScopedPointer<Model> model(createModel("QtQuick.Text"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
model->attachView(view.data());
- QCOMPARE(view->rootModelNode().metaInfo().typeName(), QString("Qt/Text"));
+ QCOMPARE(view->rootModelNode().metaInfo().typeName(), QString("QtQuick.Text"));
QVERIFY(view->rootModelNode().metaInfo().hasProperty("transformOrigin"));
@@ -3903,42 +4040,107 @@ void tst_TestCore::testMetaInfoEnums()
QCOMPARE(view->rootModelNode().metaInfo().propertyTypeName("horizontalAlignment"), QLatin1String("HAlignment"));
QVERIFY(view->rootModelNode().metaInfo().propertyKeysForEnum("horizontalAlignment").contains(QLatin1String("AlignLeft")));
QVERIFY(view->rootModelNode().metaInfo().propertyKeysForEnum("horizontalAlignment").contains(QLatin1String("AlignRight")));
+
+ QApplication::processEvents();
}
-void tst_TestCore::testMetaInfoProperties()
+void tst_TestCore::testMetaInfoQtQuick1Vs2()
{
- QSKIP("Fix metainfo", SkipAll);
+ char qmlString[] = "import QtQuick 2.0\n"
+ "Rectangle {\n"
+ "id: root;\n"
+ "width: 200;\n"
+ "height: 200;\n"
+ "color: \"white\";\n"
+ "Text {\n"
+ "id: text1\n"
+ "text: \"Hello World\"\n"
+ "anchors.centerIn: parent\n"
+ "Item {\n"
+ "id: item\n"
+ "}\n"
+ "}\n"
+ "Rectangle {\n"
+ "id: rectangle;\n"
+ "gradient: Gradient {\n"
+ "GradientStop {\n"
+ "position: 0\n"
+ "color: \"white\"\n"
+ "}\n"
+ "GradientStop {\n"
+ "position: 1\n"
+ "color: \"black\"\n"
+ "}\n"
+ "}\n"
+ "}\n"
+ "Text {\n"
+ "text: \"text\"\n"
+ "x: 66\n"
+ "y: 43\n"
+ "width: 80\n"
+ "height: 20\n"
+ "id: text2\n"
+ "}\n"
+ "}\n";
+
+ QPlainTextEdit textEdit;
+ textEdit.setPlainText(qmlString);
+ NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Text"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
- NodeMetaInfo textNodeMetaInfo = model->metaInfo("Qt/TextEdit", 4, 7);
+ QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
+ testRewriterView->setTextModifier(&textModifier);
+
+ model->attachView(testRewriterView.data());
+
+ ModelNode rootModelNode = testRewriterView->rootModelNode();
+ QVERIFY(rootModelNode.isValid());
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Rectangle"));
+
+ QVERIFY(!model->metaInfo("Rectangle", 1, 0).isValid());
+ QVERIFY(model->metaInfo("Rectangle", -1, -1).isValid());
+ QVERIFY(model->metaInfo("Rectangle", 2, 0).isValid());
+
+ QVERIFY(!model->metaInfo("QtQuick.Rectangle", 1, 0).isValid());
+ QVERIFY(model->metaInfo("QtQuick.Rectangle", -1, -1).isValid());
+ QVERIFY(model->metaInfo("QtQuick.Rectangle", 2, 0).isValid());
+}
+
+void tst_TestCore::testMetaInfoProperties()
+{
+ QScopedPointer<Model> model(createModel("QtQuick.Text"));
+ QVERIFY(model.data());
+
+ NodeMetaInfo textNodeMetaInfo = model->metaInfo("QtQuick.TextEdit", 1, 1);
QVERIFY(textNodeMetaInfo.hasProperty("text")); // QDeclarativeTextEdit
QVERIFY(textNodeMetaInfo.hasProperty("parent")); // QDeclarativeItem
QVERIFY(textNodeMetaInfo.hasProperty("x")); // QGraphicsObject
- QVERIFY(textNodeMetaInfo.hasProperty("objectName")); // Qt/QObject
+ QVERIFY(textNodeMetaInfo.hasProperty("objectName")); // QtQuick.QObject
QVERIFY(!textNodeMetaInfo.hasProperty("bla"));
QVERIFY(textNodeMetaInfo.propertyIsWritable("text"));
QVERIFY(textNodeMetaInfo.propertyIsWritable("x"));
+
+ QApplication::processEvents();
}
void tst_TestCore::testMetaInfoDotProperties()
{
- QSKIP("Fix metainfo", SkipAll);
-
- QScopedPointer<Model> model(Model::create("Qt/Text"));
+ QScopedPointer<Model> model(createModel("QtQuick.Text"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
model->attachView(view.data());
- QVERIFY(model->hasNodeMetaInfo("Qt/Text"));
+ QVERIFY(model->hasNodeMetaInfo("QtQuick.Text"));
- QVERIFY(model->hasNodeMetaInfo("Qt/Pen"));
+ QVERIFY(model->metaInfo("QtQuick.Rectangle").hasProperty("border"));
+ QCOMPARE(model->metaInfo("QtQuick.Rectangle").propertyTypeName("border"), QString("<cpp>.QDeclarative1Pen"));
- QCOMPARE(view->rootModelNode().metaInfo().typeName(), QString("Qt/Text"));
+ QCOMPARE(view->rootModelNode().metaInfo().typeName(), QString("QtQuick.Text"));
QVERIFY(view->rootModelNode().metaInfo().hasProperty("font"));
QVERIFY(view->rootModelNode().metaInfo().hasProperty("font.bold"));
@@ -3946,32 +4148,30 @@ void tst_TestCore::testMetaInfoDotProperties()
QVERIFY(view->rootModelNode().metaInfo().propertyNames().contains("font.pointSize"));
QVERIFY(view->rootModelNode().metaInfo().hasProperty("font.pointSize"));
- ModelNode rectNode(addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 7, "data"));
-
+ ModelNode rectNode(addNodeListChild(view->rootModelNode(), "QtQuick.Rectangle", 1, 0, "data"));
- QVERIFY(rectNode.metaInfo().propertyNames().contains("pos.x"));
- QVERIFY(!rectNode.metaInfo().propertyNames().contains("pos.x"));
+ QVERIFY(rectNode.metaInfo().propertyNames().contains("pos"));
QVERIFY(rectNode.metaInfo().propertyNames().contains("pos.y"));
- QVERIFY(!rectNode.metaInfo().propertyNames().contains("pos.y"));
- QVERIFY(!rectNode.metaInfo().propertyNames().contains("anchors.topMargin"));
+ QVERIFY(rectNode.metaInfo().propertyNames().contains("pos.x"));
+ QVERIFY(rectNode.metaInfo().propertyNames().contains("anchors.topMargin"));
QVERIFY(rectNode.metaInfo().propertyNames().contains("border.width"));
QVERIFY(rectNode.metaInfo().hasProperty("border"));
QVERIFY(rectNode.metaInfo().hasProperty("border.width"));
+
+ QApplication::processEvents();
}
void tst_TestCore::testMetaInfoListProperties()
{
- QSKIP("Fix metainfo", SkipAll);
-
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
model->attachView(view.data());
- QVERIFY(model->hasNodeMetaInfo("Qt/Item"));
- QCOMPARE(view->rootModelNode().metaInfo().typeName(), QString("Qt/Item"));
+ QVERIFY(model->hasNodeMetaInfo("QtQuick.Item"));
+ QCOMPARE(view->rootModelNode().metaInfo().typeName(), QString("QtQuick.Item"));
QVERIFY(view->rootModelNode().metaInfo().hasProperty("states"));
QVERIFY(view->rootModelNode().metaInfo().propertyIsListProperty("states"));
@@ -3990,15 +4190,65 @@ void tst_TestCore::testMetaInfoListProperties()
QVERIFY(!view->rootModelNode().metaInfo().propertyIsListProperty("effect"));
QVERIFY(view->rootModelNode().metaInfo().hasProperty("parent"));
QVERIFY(!view->rootModelNode().metaInfo().propertyIsListProperty("parent"));
+
+ QApplication::processEvents();
+}
+
+void tst_TestCore::testQtQuick20Basic()
+{
+ QPlainTextEdit textEdit;
+ textEdit.setPlainText("\nimport QtQuick 2.0\n\nItem {\n}\n");
+ NotIndentingTextEditModifier modifier(&textEdit);
+
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
+ QVERIFY(model.data());
+
+ TestRewriterView *testRewriterView = new TestRewriterView(model.data());
+ testRewriterView->setTextModifier(&modifier);
+ model->attachView(testRewriterView);
+
+ QVERIFY(testRewriterView->errors().isEmpty());
+ ModelNode rootModelNode(testRewriterView->rootModelNode());
+ QVERIFY(rootModelNode.isValid());
+ QCOMPARE(rootModelNode.metaInfo().majorVersion(), 2);
+ QCOMPARE(rootModelNode.metaInfo().minorVersion(), 0);
+ QCOMPARE(rootModelNode.majorQtQuickVersion(), 2);
+ QCOMPARE(rootModelNode.majorVersion(), 2);
+}
+
+void tst_TestCore::testQtQuick20BasicRectangle()
+{
+ QPlainTextEdit textEdit;
+ textEdit.setPlainText("\nimport QtQuick 2.0\nRectangle {\n}\n");
+ NotIndentingTextEditModifier modifier(&textEdit);
+
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
+ QVERIFY(model.data());
+
+ TestRewriterView *testRewriterView = new TestRewriterView(model.data());
+ testRewriterView->setTextModifier(&modifier);
+ model->attachView(testRewriterView);
+
+ QTest::qSleep(1000);
+ QApplication::processEvents();
+
+ QVERIFY(testRewriterView->errors().isEmpty());
+ ModelNode rootModelNode(testRewriterView->rootModelNode());
+ QVERIFY(rootModelNode.isValid());
+ QCOMPARE(rootModelNode.type(), QString("QtQuick.Rectangle"));
+ QCOMPARE(rootModelNode.metaInfo().majorVersion(), 2);
+ QCOMPARE(rootModelNode.metaInfo().minorVersion(), 0);
+ QCOMPARE(rootModelNode.majorQtQuickVersion(), 2);
+ QCOMPARE(rootModelNode.majorVersion(), 2);
}
void tst_TestCore::testStatesRewriter()
{
QPlainTextEdit textEdit;
- textEdit.setPlainText("import Qt 4.7; Item {}\n");
+ textEdit.setPlainText("import QtQuick 1.1; Item {}\n");
NotIndentingTextEditModifier modifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
@@ -4042,10 +4292,10 @@ void tst_TestCore::testStatesRewriter()
void tst_TestCore::testGradientsRewriter()
{
QPlainTextEdit textEdit;
- textEdit.setPlainText("\nimport Qt 4.7\n\nItem {\n}\n");
+ textEdit.setPlainText("\nimport QtQuick 1.1\n\nItem {\n}\n");
NotIndentingTextEditModifier modifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
@@ -4061,9 +4311,9 @@ void tst_TestCore::testGradientsRewriter()
QVERIFY(rootModelNode.isValid());
- ModelNode rectNode(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data"));
+ ModelNode rectNode(addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data"));
- const QLatin1String expected1("\nimport Qt 4.7\n"
+ const QLatin1String expected1("\nimport QtQuick 1.1\n"
"\n"
"Item {\n"
"Rectangle {\n"
@@ -4071,11 +4321,11 @@ void tst_TestCore::testGradientsRewriter()
"}\n");
QCOMPARE(textEdit.toPlainText(), expected1);
- ModelNode gradientNode(addNodeChild(rectNode, "Qt/Gradient", 4, 7, "gradient"));
+ ModelNode gradientNode(addNodeChild(rectNode, "QtQuick.Gradient", 1, 0, "gradient"));
QVERIFY(rectNode.hasNodeProperty("gradient"));
- const QLatin1String expected2("\nimport Qt 4.7\n"
+ const QLatin1String expected2("\nimport QtQuick 1.1\n"
"\n"
"Item {\n"
"Rectangle {\n"
@@ -4092,11 +4342,11 @@ void tst_TestCore::testGradientsRewriter()
propertyList.append(qMakePair(QString("position"), QVariant::fromValue(0)));
propertyList.append(qMakePair(QString("color"), QVariant::fromValue(QColor(Qt::red))));
- ModelNode gradientStop1(gradientNode.view()->createModelNode("Qt/GradientStop", 4, 7, propertyList));
+ ModelNode gradientStop1(gradientNode.view()->createModelNode("QtQuick.GradientStop", 1, 0, propertyList));
QVERIFY(gradientStop1.isValid());
stops.reparentHere(gradientStop1);
- const QLatin1String expected3("\nimport Qt 4.7\n"
+ const QLatin1String expected3("\nimport QtQuick 1.1\n"
"\n"
"Item {\n"
"Rectangle {\n"
@@ -4115,11 +4365,11 @@ void tst_TestCore::testGradientsRewriter()
propertyList.append(qMakePair(QString("position"), QVariant::fromValue(0.5)));
propertyList.append(qMakePair(QString("color"), QVariant::fromValue(QColor(Qt::blue))));
- ModelNode gradientStop2(gradientNode.view()->createModelNode("Qt/GradientStop", 4, 7, propertyList));
+ ModelNode gradientStop2(gradientNode.view()->createModelNode("QtQuick.GradientStop", 1, 0, propertyList));
QVERIFY(gradientStop2.isValid());
stops.reparentHere(gradientStop2);
- const QLatin1String expected4("\nimport Qt 4.7\n"
+ const QLatin1String expected4("\nimport QtQuick 1.1\n"
"\n"
"Item {\n"
"Rectangle {\n"
@@ -4143,11 +4393,11 @@ void tst_TestCore::testGradientsRewriter()
propertyList.append(qMakePair(QString("position"), QVariant::fromValue(0.8)));
propertyList.append(qMakePair(QString("color"), QVariant::fromValue(QColor(Qt::yellow))));
- ModelNode gradientStop3(gradientNode.view()->createModelNode("Qt/GradientStop", 4, 7, propertyList));
+ ModelNode gradientStop3(gradientNode.view()->createModelNode("QtQuick.GradientStop", 1, 0, propertyList));
QVERIFY(gradientStop3.isValid());
stops.reparentHere(gradientStop3);
- const QLatin1String expected5("\nimport Qt 4.7\n"
+ const QLatin1String expected5("\nimport QtQuick 1.1\n"
"\n"
"Item {\n"
"Rectangle {\n"
@@ -4174,7 +4424,7 @@ void tst_TestCore::testGradientsRewriter()
gradientNode.removeProperty("stops");
- const QLatin1String expected6("\nimport Qt 4.7\n"
+ const QLatin1String expected6("\nimport QtQuick 1.1\n"
"\n"
"Item {\n"
"Rectangle {\n"
@@ -4191,7 +4441,7 @@ void tst_TestCore::testGradientsRewriter()
propertyList.append(qMakePair(QString("position"), QVariant::fromValue(0)));
propertyList.append(qMakePair(QString("color"), QVariant::fromValue(QColor(Qt::blue))));
- gradientStop1 = gradientNode.view()->createModelNode("Qt/GradientStop", 4, 7, propertyList);
+ gradientStop1 = gradientNode.view()->createModelNode("QtQuick.GradientStop", 1, 0, propertyList);
QVERIFY(gradientStop1.isValid());
stops.reparentHere(gradientStop1);
@@ -4199,7 +4449,7 @@ void tst_TestCore::testGradientsRewriter()
void tst_TestCore::testQmlModelStates()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
@@ -4232,7 +4482,7 @@ void tst_TestCore::testQmlModelStates()
void tst_TestCore::testInstancesStates()
{
//
-// import Qt 4.7
+// import QtQuick 1.1
//
// Rectangle {
// Text {
@@ -4260,7 +4510,7 @@ void tst_TestCore::testInstancesStates()
// }
//
-// QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+// QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
// QVERIFY(model.data());
// QScopedPointer<TestView> view(new TestView(model.data()));
// QVERIFY(view.data());
@@ -4271,28 +4521,28 @@ void tst_TestCore::testInstancesStates()
// //
// ModelNode rootNode = view->rootModelNode();
-// ModelNode textNode = view->createModelNode("Qt/Text", 4, 7);
+// ModelNode textNode = view->createModelNode("QtQuick.Text", 1, 1);
// textNode.setId("targetObject");
// textNode.variantProperty("text").setValue("base state");
// rootNode.nodeListProperty("data").reparentHere(textNode);
-// ModelNode propertyChanges1Node = view->createModelNode("Qt/PropertyChanges", 4, 7);
+// ModelNode propertyChanges1Node = view->createModelNode("QtQuick.PropertyChanges", 1, 1);
// propertyChanges1Node.bindingProperty("target").setExpression("targetObject");
// propertyChanges1Node.variantProperty("x").setValue(10);
// propertyChanges1Node.variantProperty("text").setValue("state1");
-// ModelNode state1Node = view->createModelNode("Qt/State", 4, 7);
+// ModelNode state1Node = view->createModelNode("QtQuick.State", 1, 1);
// state1Node.variantProperty("name").setValue("state1");
// state1Node.nodeListProperty("changes").reparentHere(propertyChanges1Node);
// rootNode.nodeListProperty("states").reparentHere(state1Node);
-// ModelNode propertyChanges2Node = view->createModelNode("Qt/PropertyChanges", 4, 7);
+// ModelNode propertyChanges2Node = view->createModelNode("QtQuick.PropertyChanges", 1, 1);
// propertyChanges2Node.bindingProperty("target").setExpression("targetObject");
// propertyChanges2Node.variantProperty("text").setValue("state2");
-// ModelNode state2Node = view->createModelNode("Qt/State", 4, 7);
+// ModelNode state2Node = view->createModelNode("QtQuick.State", 1, 1);
// state2Node.variantProperty("name").setValue("state2");
// state2Node.nodeListProperty("changes").reparentHere(propertyChanges2Node);
@@ -4389,7 +4639,7 @@ void tst_TestCore::testInstancesStates()
// //
// // move property changes of current state out of state
-// ModelNode state3Node = view->createModelNode("Qt/State", 4, 7);
+// ModelNode state3Node = view->createModelNode("QtQuick.State", 1, 1);
// QDeclarativeListReference changes(state1, "changes");
// QCOMPARE(changes.count(), 1);
// state3Node.nodeListProperty("changes").reparentHere(propertyChanges1Node);
@@ -4412,7 +4662,7 @@ void tst_TestCore::testInstancesStates()
// textNode.variantProperty("text").setValue("base state");
// // expressions
-// ModelNode textNode2 = view->createModelNode("Qt/Text", 4, 7);
+// ModelNode textNode2 = view->createModelNode("QtQuick.Text", 1, 1);
// textNode2.setId("targetObject2");
// textNode2.variantProperty("text").setValue("textNode2");
@@ -4472,7 +4722,7 @@ void tst_TestCore::testInstancesStates()
void tst_TestCore::testStates()
{
//
-// import Qt 4.7
+// import QtQuick 1.1
//
// Rectangle {
// Text {
@@ -4491,7 +4741,7 @@ void tst_TestCore::testStates()
// }
//
-// QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+// QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
// QVERIFY(model.data());
// QScopedPointer<TestView> view(new TestView(model.data()));
// QVERIFY(view.data());
@@ -4500,7 +4750,7 @@ void tst_TestCore::testStates()
// // build up model
// ModelNode rootNode = view->rootModelNode();
-// ModelNode textNode = view->createModelNode("Qt/Text", 4, 7);
+// ModelNode textNode = view->createModelNode("QtQuick.Text", 1, 1);
// textNode.setId("targetObject");
// textNode.variantProperty("text").setValue("base state");
@@ -4516,7 +4766,7 @@ void tst_TestCore::testStates()
// QVERIFY(textItem.isValid());
// QmlModelState state1(rootItem.states().addState("state 1")); //add state "state 1"
-// QCOMPARE(state1.modelNode().type(), QString("Qt/State"));
+// QCOMPARE(state1.modelNode().type(), QString("QtQuick.State"));
// QVERIFY(view->currentState().isBaseState());
@@ -4549,7 +4799,7 @@ void tst_TestCore::testStates()
// QCOMPARE(changes.modelNode().variantProperty("text").value(), QVariant("state 1"));
// QCOMPARE(changes.modelNode().bindingProperty("target").expression(), QString("targetObject"));
// QCOMPARE(changes.target(), textNode);
-// QCOMPARE(changes.modelNode().type(), QString("Qt/PropertyChanges"));
+// QCOMPARE(changes.modelNode().type(), QString("QtQuick.PropertyChanges"));
// QCOMPARE(changes.modelNode().parentProperty().name(), QString("changes"));
// QCOMPARE(changes.modelNode().parentProperty().parentModelNode(), state1.modelNode());
@@ -4568,7 +4818,7 @@ void tst_TestCore::testStates()
void tst_TestCore::testStatesBaseState()
{
//
-// import Qt 4.7
+// import QtQuick 1.1
//
// Rectangle {
// Text {
@@ -4587,7 +4837,7 @@ void tst_TestCore::testStatesBaseState()
// }
//
- QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
@@ -4596,7 +4846,7 @@ void tst_TestCore::testStatesBaseState()
// build up model
ModelNode rootNode = view->rootModelNode();
- ModelNode textNode = view->createModelNode("Qt/Text", 4, 7);
+ ModelNode textNode = view->createModelNode("QtQuick.Text", 1, 1);
textNode.setId("targetObject");
textNode.variantProperty("text").setValue("base state");
@@ -4612,17 +4862,19 @@ void tst_TestCore::testStatesBaseState()
QVERIFY(textItem.isValid());
QmlModelState state1(rootItem.states().addState("state 1")); //add state "state 1"
- QCOMPARE(state1.modelNode().type(), QString("Qt/State"));
+ QCOMPARE(state1.modelNode().type(), QString("QtQuick.State"));
QVERIFY(view->currentState().isBaseState());
view->setCurrentState(state1); //set currentState "state 1"
QCOMPARE(view->currentState(), state1);
+ QApplication::processEvents();
textItem.setVariantProperty("text", QVariant("state 1")); //set text in state !
QVERIFY(textItem.propertyAffectedByCurrentState("text"));
+ QApplication::processEvents();
QCOMPARE(textItem.instanceValue("text"), QVariant("state 1"));
- ModelNode newNode = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode newNode = view->createModelNode("QtQuick.Rectangle", 1, 0);
QVERIFY(!QmlObjectNode(newNode).currentState().isBaseState());
view->setCurrentState(view->baseState()); //set currentState base state
@@ -4644,13 +4896,13 @@ void tst_TestCore::testStatesBaseState()
void tst_TestCore::testInstancesIdResolution()
{
- QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
model->attachView(view.data());
- // import Qt 4.7
+ // import QtQuick 1.1
//
// Rectangle {
// id: root
@@ -4668,7 +4920,7 @@ void tst_TestCore::testInstancesIdResolution()
rootNode.variantProperty("width").setValue(100);
rootNode.variantProperty("height").setValue(100);
- ModelNode item1Node = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode item1Node = view->createModelNode("QtQuick.Rectangle", 1, 0);
item1Node.setId("item1");
item1Node.bindingProperty("width").setExpression("root.width");
item1Node.bindingProperty("height").setExpression("item2.height");
@@ -4688,7 +4940,7 @@ void tst_TestCore::testInstancesIdResolution()
// height: root.height
// }
- ModelNode item2Node = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode item2Node = view->createModelNode("QtQuick.Rectangle", 1, 0);
item2Node.setId("item2");
item2Node.bindingProperty("width").setExpression("root.width / 2");
item2Node.bindingProperty("height").setExpression("root.height");
@@ -4713,7 +4965,7 @@ void tst_TestCore::testInstancesIdResolution()
// height: 80
// }
- ModelNode item3Node = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode item3Node = view->createModelNode("QtQuick.Rectangle", 1, 0);
item3Node.setId("item3");
item3Node.variantProperty("height").setValue(80);
rootNode.nodeListProperty("data").reparentHere(item3Node);
@@ -4731,16 +4983,16 @@ void tst_TestCore::testInstancesNotInScene()
// test whether deleting an instance which is not in the scene crashes
//
- QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
model->attachView(view.data());
- ModelNode node1 = view->createModelNode("Qt/Item", 4, 7);
+ ModelNode node1 = view->createModelNode("QtQuick.Item", 1, 1);
node1.setId("node1");
- ModelNode node2 = view->createModelNode("Qt/Item", 4, 7);
+ ModelNode node2 = view->createModelNode("QtQuick.Item", 1, 1);
node2.setId("node2");
node1.nodeListProperty("children").reparentHere(node2);
@@ -4752,21 +5004,21 @@ void tst_TestCore::testInstancesBindingsInStatesStress()
{
//This is a stress test to provoke a crash
for (int j=0;j<20;j++) {
- QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
model->attachView(view.data());
- ModelNode node1 = view->createModelNode("Qt/Item", 4, 7);
+ ModelNode node1 = view->createModelNode("QtQuick.Item", 1, 1);
node1.setId("node1");
view->rootModelNode().nodeListProperty("children").reparentHere(node1);
- ModelNode node2 = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode node2 = view->createModelNode("QtQuick.Rectangle", 1, 0);
node2.setId("node2");
- ModelNode node3 = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode node3 = view->createModelNode("QtQuick.Rectangle", 1, 0);
node3.setId("node3");
node1.nodeListProperty("children").reparentHere(node2);
@@ -4857,21 +5109,21 @@ void tst_TestCore::testInstancesPropertyChangeTargets()
//this tests checks if a change of the target of a CropertyChange
//node is handled correctly
- QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
model->attachView(view.data());
- ModelNode node1 = view->createModelNode("Qt/Item", 4, 7);
+ ModelNode node1 = view->createModelNode("QtQuick.Item", 1, 1);
node1.setId("node1");
view->rootModelNode().nodeListProperty("children").reparentHere(node1);
- ModelNode node2 = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode node2 = view->createModelNode("QtQuick.Rectangle", 1, 0);
node2.setId("node2");
- ModelNode node3 = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode node3 = view->createModelNode("QtQuick.Rectangle", 1, 0);
node3.setId("node3");
node1.nodeListProperty("children").reparentHere(node2);
@@ -4963,21 +5215,21 @@ void tst_TestCore::testInstancesPropertyChangeTargets()
void tst_TestCore::testInstancesDeletePropertyChanges()
{
- QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
model->attachView(view.data());
- ModelNode node1 = view->createModelNode("Qt/Item", 4, 7);
+ ModelNode node1 = view->createModelNode("QtQuick.Item", 1, 1);
node1.setId("node1");
view->rootModelNode().nodeListProperty("children").reparentHere(node1);
- ModelNode node2 = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode node2 = view->createModelNode("QtQuick.Rectangle", 1, 0);
node2.setId("node2");
- ModelNode node3 = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode node3 = view->createModelNode("QtQuick.Rectangle", 1, 0);
node3.setId("node3");
node1.nodeListProperty("children").reparentHere(node2);
@@ -5052,7 +5304,7 @@ void tst_TestCore::testInstancesDeletePropertyChanges()
void tst_TestCore::testInstancesChildrenLowLevel()
{
-// QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+// QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
// QVERIFY(model.data());
// QScopedPointer<NodeInstanceView> view(new NodeInstanceView);
@@ -5064,11 +5316,11 @@ void tst_TestCore::testInstancesChildrenLowLevel()
// rootModelNode.setId("rootModelNode");
-// ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Text", 4, 7, "data");
+// ModelNode childNode1 = addNodeListChild(rootModelNode, "QtQuick.Text", 1, 1, "data");
// QVERIFY(childNode1.isValid());
// childNode1.setId("childNode1");
-// ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/TextEdit", 4, 7, "data");
+// ModelNode childNode2 = addNodeListChild(rootModelNode, "QtQuick.TextEdit", 1, 1, "data");
// QVERIFY(childNode2.isValid());
// childNode2.setId("childNode2");
@@ -5142,7 +5394,7 @@ void tst_TestCore::testInstancesChildrenLowLevel()
void tst_TestCore::testInstancesResourcesLowLevel()
{
-// QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+// QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
// QVERIFY(model.data());
// QScopedPointer<NodeInstanceView> view(new NodeInstanceView);
@@ -5154,15 +5406,15 @@ void tst_TestCore::testInstancesResourcesLowLevel()
// rootModelNode.setId("rootModelNode");
-// ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Text", 4, 7, "data");
+// ModelNode childNode1 = addNodeListChild(rootModelNode, "QtQuick.Text", 1, 1, "data");
// QVERIFY(childNode1.isValid());
// childNode1.setId("childNode1");
-// ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/TextEdit", 4, 7, "data");
+// ModelNode childNode2 = addNodeListChild(rootModelNode, "QtQuick.TextEdit", 1, 1, "data");
// QVERIFY(childNode2.isValid());
// childNode2.setId("childNode2");
-// ModelNode listModel = addNodeListChild(rootModelNode, "Qt/ListModel", 4, 7, "data");
+// ModelNode listModel = addNodeListChild(rootModelNode, "QtQuick.ListModel", 1, 1, "data");
// QVERIFY(listModel.isValid());
// listModel.setId("listModel");
@@ -5241,7 +5493,7 @@ void tst_TestCore::testInstancesResourcesLowLevel()
// QCOMPARE(listReferenceData.at(1), child1Item);
// QCOMPARE(listReferenceData.at(2), child2Item);
-// ModelNode listModel2 = addNodeListChild(rootModelNode, "Qt/ListModel", 4, 7, "data");
+// ModelNode listModel2 = addNodeListChild(rootModelNode, "QtQuick.ListModel", 1, 1, "data");
// QVERIFY(listModel2.isValid());
// listModel2.setId("listModel2");
@@ -5289,7 +5541,7 @@ void tst_TestCore::testInstancesResourcesLowLevel()
void tst_TestCore::testInstancesFlickableLowLevel()
{
-// QScopedPointer<Model> model(Model::create("Qt/Flickable", 4, 7));
+// QScopedPointer<Model> model(createModel("QtQuick.Flickable", 1, 1));
// QVERIFY(model.data());
// QScopedPointer<NodeInstanceView> view(new NodeInstanceView);
@@ -5301,15 +5553,15 @@ void tst_TestCore::testInstancesFlickableLowLevel()
// rootModelNode.setId("rootModelNode");
-// ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Text", 4, 7, "flickableData");
+// ModelNode childNode1 = addNodeListChild(rootModelNode, "QtQuick.Text", 1, 1, "flickableData");
// QVERIFY(childNode1.isValid());
// childNode1.setId("childNode1");
-// ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/TextEdit", 4, 7, "flickableData");
+// ModelNode childNode2 = addNodeListChild(rootModelNode, "QtQuick.TextEdit", 1, 1, "flickableData");
// QVERIFY(childNode2.isValid());
// childNode2.setId("childNode2");
-// ModelNode listModel = addNodeListChild(rootModelNode, "Qt/ListModel", 4, 7, "flickableData");
+// ModelNode listModel = addNodeListChild(rootModelNode, "QtQuick.ListModel", 1, 1, "flickableData");
// QVERIFY(listModel.isValid());
// listModel.setId("listModel");
@@ -5377,7 +5629,7 @@ void tst_TestCore::testInstancesFlickableLowLevel()
void tst_TestCore::testInstancesReorderChildrenLowLevel()
{
-// QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+// QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
// QVERIFY(model.data());
// QScopedPointer<NodeInstanceView> view(new NodeInstanceView);
@@ -5389,23 +5641,23 @@ void tst_TestCore::testInstancesReorderChildrenLowLevel()
// rootModelNode.setId("rootModelNode");
-// ModelNode childNode1 = addNodeListChild(rootModelNode, "Qt/Text", 4, 7, "data");
+// ModelNode childNode1 = addNodeListChild(rootModelNode, "QtQuick.Text", 1, 1, "data");
// QVERIFY(childNode1.isValid());
// childNode1.setId("childNode1");
-// ModelNode childNode2 = addNodeListChild(rootModelNode, "Qt/TextEdit", 4, 7, "data");
+// ModelNode childNode2 = addNodeListChild(rootModelNode, "QtQuick.TextEdit", 1, 1, "data");
// QVERIFY(childNode2.isValid());
// childNode2.setId("childNode2");
-// ModelNode listModel = addNodeListChild(rootModelNode, "Qt/ListModel", 4, 7, "data");
+// ModelNode listModel = addNodeListChild(rootModelNode, "QtQuick.ListModel", 1, 1, "data");
// QVERIFY(listModel.isValid());
// listModel.setId("listModel");
-// ModelNode childNode3 = addNodeListChild(rootModelNode, "Qt/TextEdit", 4, 7, "data");
+// ModelNode childNode3 = addNodeListChild(rootModelNode, "QtQuick.TextEdit", 1, 1, "data");
// QVERIFY(childNode3.isValid());
// childNode3.setId("childNode3");
-// ModelNode childNode4 = addNodeListChild(rootModelNode, "Qt/TextEdit", 4, 7, "data");
+// ModelNode childNode4 = addNodeListChild(rootModelNode, "QtQuick.TextEdit", 1, 1, "data");
// QVERIFY(childNode4.isValid());
// childNode4.setId("childNode4");
@@ -5476,7 +5728,7 @@ void tst_TestCore::testInstancesReorderChildrenLowLevel()
void tst_TestCore::testQmlModelStatesInvalidForRemovedNodes()
{
- QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -5493,11 +5745,11 @@ void tst_TestCore::testQmlModelStatesInvalidForRemovedNodes()
QVERIFY(state1.isValid());
QCOMPARE(state1.name(), QString("state1"));
- ModelNode childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(childNode.isValid());
childNode.setId("childNode");
- ModelNode subChildNode = addNodeListChild(childNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode subChildNode = addNodeListChild(childNode, "QtQuick.Rectangle", 1, 0, "data");
QVERIFY(subChildNode.isValid());
subChildNode.setId("subChildNode");
@@ -5517,7 +5769,7 @@ void tst_TestCore::testInstancesAttachToExistingModel()
// Test attaching nodeinstanceview to an existing model
//
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -5525,7 +5777,7 @@ void tst_TestCore::testInstancesAttachToExistingModel()
model->attachView(view.data());
ModelNode rootNode = view->rootModelNode();
- ModelNode rectangleNode = addNodeListChild(rootNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode rectangleNode = addNodeListChild(rootNode, "QtQuick.Rectangle", 1, 0, "data");
rectangleNode.variantProperty("width").setValue(100);
@@ -5534,7 +5786,7 @@ void tst_TestCore::testInstancesAttachToExistingModel()
// Attach NodeInstanceView
- QScopedPointer<NodeInstanceView> instanceView(new NodeInstanceView);
+ QScopedPointer<NodeInstanceView> instanceView(new NodeInstanceView(0, NodeInstanceServerInterface::TestModus));
QVERIFY(instanceView.data());
model->attachView(instanceView.data());
@@ -5549,7 +5801,7 @@ void tst_TestCore::testInstancesAttachToExistingModel()
void tst_TestCore::testQmlModelAddMultipleStates()
{
- QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -5580,7 +5832,7 @@ void tst_TestCore::testQmlModelAddMultipleStates()
void tst_TestCore::testQmlModelRemoveStates()
{
- QScopedPointer<Model> model(Model::create("Qt/Rectangle", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 1, 1));
QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data());
@@ -5610,10 +5862,10 @@ void tst_TestCore::testQmlModelRemoveStates()
void tst_TestCore::testQmlModelStateWithName()
{
QPlainTextEdit textEdit1;
- textEdit1.setPlainText("import Qt 4.7; Rectangle { id: theRect; width: 100; states: [ State { name: \"a\"; PropertyChanges { target: theRect; width: 200; } } ] }\n");
+ textEdit1.setPlainText("import QtQuick 1.1; Rectangle { id: theRect; width: 100; states: [ State { name: \"a\"; PropertyChanges { target: theRect; width: 200; } } ] }\n");
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item"));
TestRewriterView *testRewriterView1 = new TestRewriterView(model1.data());
testRewriterView1->setTextModifier(&modifier1);
@@ -5635,7 +5887,7 @@ void tst_TestCore::testQmlModelStateWithName()
view->setCurrentState(rootNode.states().allStates().at(0));
rootNode.setVariantProperty("width", 112);
- const QLatin1String expected1("import Qt 4.7; Rectangle { id: theRect; width: 100; states: [ State { name: \"a\"; PropertyChanges { target: theRect; width: 112 } } ] }\n");
+ const QLatin1String expected1("import QtQuick 1.1; Rectangle { id: theRect; width: 100; states: [ State { name: \"a\"; PropertyChanges { target: theRect; width: 112 } } ] }\n");
QCOMPARE(textEdit1.toPlainText(), expected1);
QVERIFY(!rootNode.isInBaseState());
@@ -5655,10 +5907,10 @@ void tst_TestCore::testQmlModelStateWithName()
void tst_TestCore::testRewriterAutomaticSemicolonAfterChangedProperty()
{
QPlainTextEdit textEdit1;
- textEdit1.setPlainText("import Qt 4.7; Rectangle {\n width: 640\n height: 480\n}\n");
+ textEdit1.setPlainText("import QtQuick 1.1; Rectangle {\n width: 640\n height: 480\n}\n");
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item"));
TestRewriterView *testRewriterView1 = new TestRewriterView(model1.data());
testRewriterView1->setTextModifier(&modifier1);
@@ -5675,7 +5927,7 @@ void tst_TestCore::testRewriterAutomaticSemicolonAfterChangedProperty()
void tst_TestCore::defaultPropertyValues()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -5685,12 +5937,12 @@ void tst_TestCore::defaultPropertyValues()
QCOMPARE(view->rootModelNode().variantProperty("x").value().toDouble(), 0.0);
QCOMPARE(view->rootModelNode().variantProperty("width").value().toDouble(), 0.0);
- ModelNode rectNode(addNodeListChild(view->rootModelNode(), "Qt/Rectangle", 4, 7, "data"));
+ ModelNode rectNode(addNodeListChild(view->rootModelNode(), "QtQuick.Rectangle", 1, 0, "data"));
QCOMPARE(rectNode.variantProperty("y").value().toDouble(), 0.0);
QCOMPARE(rectNode.variantProperty("width").value().toDouble(), 0.0);
- ModelNode imageNode(addNodeListChild(view->rootModelNode(), "Qt/Image", 4, 7, "data"));
+ ModelNode imageNode(addNodeListChild(view->rootModelNode(), "QtQuick.Image", 1, 0, "data"));
QCOMPARE(imageNode.variantProperty("y").value().toDouble(), 0.0);
QCOMPARE(imageNode.variantProperty("width").value().toDouble(), 0.0);
@@ -5699,10 +5951,10 @@ void tst_TestCore::defaultPropertyValues()
void tst_TestCore::testModelPropertyValueTypes()
{
QPlainTextEdit textEdit1;
- textEdit1.setPlainText("import Qt 4.7; Rectangle { width: 100; radius: 1.5; color: \"red\"; }");
+ textEdit1.setPlainText("import QtQuick 1.1; Rectangle { width: 100; radius: 1.5; color: \"red\"; }");
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model1(Model::create("Qt/Item"));
+ QScopedPointer<Model> model1(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -5720,7 +5972,7 @@ void tst_TestCore::testModelPropertyValueTypes()
void tst_TestCore::testModelNodeInHierarchy()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -5728,9 +5980,9 @@ void tst_TestCore::testModelNodeInHierarchy()
model->attachView(view.data());
QVERIFY(view->rootModelNode().isInHierarchy());
- ModelNode node1 = addNodeListChild(view->rootModelNode(), "Qt/Item", 4, 7, "data");
+ ModelNode node1 = addNodeListChild(view->rootModelNode(), "QtQuick.Item", 1, 1, "data");
QVERIFY(node1.isInHierarchy());
- ModelNode node2 = view->createModelNode("Qt/Item", 4, 7);
+ ModelNode node2 = view->createModelNode("QtQuick.Item", 1, 1);
QVERIFY(!node2.isInHierarchy());
node2.nodeListProperty("data").reparentHere(node1);
QVERIFY(!node2.isInHierarchy());
@@ -5741,11 +5993,11 @@ void tst_TestCore::testModelNodeInHierarchy()
void tst_TestCore::testModelNodeIsAncestorOf()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
//
- // import Qt 4.7
+ // import QtQuick 1.1
// Item {
// Item {
// id: item2
@@ -5763,11 +6015,11 @@ void tst_TestCore::testModelNodeIsAncestorOf()
model->attachView(view.data());
view->rootModelNode().setId("item1");
- ModelNode item2 = addNodeListChild(view->rootModelNode(), "Qt/Item", 4, 7, "data");
+ ModelNode item2 = addNodeListChild(view->rootModelNode(), "QtQuick.Item", 1, 1, "data");
item2.setId("item2");
- ModelNode item3 = addNodeListChild(view->rootModelNode(), "Qt/Item", 4, 7, "data");
+ ModelNode item3 = addNodeListChild(view->rootModelNode(), "QtQuick.Item", 1, 1, "data");
item3.setId("item3");
- ModelNode item4 = addNodeListChild(item3, "Qt/Item", 4, 7, "data");
+ ModelNode item4 = addNodeListChild(item3, "QtQuick.Item", 1, 1, "data");
item4.setId("item4");
QVERIFY(view->rootModelNode().isAncestorOf(item2));
@@ -5780,8 +6032,7 @@ void tst_TestCore::testModelNodeIsAncestorOf()
void tst_TestCore::testModelDefaultProperties()
{
- QSKIP("Fix metainfo", SkipAll);
- QScopedPointer<Model> model(Model::create("Qt/Rectangle"));
+ QScopedPointer<Model> model(createModel("QtQuick.Rectangle"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -5797,10 +6048,10 @@ void tst_TestCore::testModelDefaultProperties()
void tst_TestCore::loadAnchors()
{
QPlainTextEdit textEdit1;
- textEdit1.setPlainText("import Qt 4.7; Item { width: 100; height: 100; Rectangle { anchors.left: parent.left; anchors.horizontalCenter: parent.horizontalCenter; anchors.rightMargin: 20; }}");
+ textEdit1.setPlainText("import QtQuick 1.1; Item { width: 100; height: 100; Rectangle { anchors.left: parent.left; anchors.horizontalCenter: parent.horizontalCenter; anchors.rightMargin: 20; }}");
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -5836,10 +6087,10 @@ void tst_TestCore::loadAnchors()
void tst_TestCore::changeAnchors()
{
QPlainTextEdit textEdit1;
- textEdit1.setPlainText("import Qt 4.7; Item { width: 100; height: 100; Rectangle { anchors.left: parent.left; anchors.horizontalCenter: parent.horizontalCenter; anchors.rightMargin: 20; }}");
+ textEdit1.setPlainText("import QtQuick 1.1; Item { width: 100; height: 100; Rectangle { anchors.left: parent.left; anchors.horizontalCenter: parent.horizontalCenter; anchors.rightMargin: 20; }}");
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -5897,10 +6148,10 @@ void tst_TestCore::changeAnchors()
void tst_TestCore::anchorToSibling()
{
QPlainTextEdit textEdit1;
- textEdit1.setPlainText("import Qt 4.7; Item { Rectangle {} Rectangle { id: secondChild } }");
+ textEdit1.setPlainText("import QtQuick 1.1; Item { Rectangle {} Rectangle { id: secondChild } }");
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -5941,10 +6192,10 @@ void tst_TestCore::anchorToSibling()
void tst_TestCore::removeFillAnchorByDetaching()
{
QPlainTextEdit textEdit1;
- textEdit1.setPlainText("import Qt 4.7; Item { width: 100; height: 100; Rectangle { id: child; anchors.fill: parent } }");
+ textEdit1.setPlainText("import QtQuick 1.1; Item { width: 100; height: 100; Rectangle { id: child; anchors.fill: parent } }");
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -6021,10 +6272,10 @@ void tst_TestCore::removeFillAnchorByDetaching()
void tst_TestCore::removeFillAnchorByChanging()
{
QPlainTextEdit textEdit1;
- textEdit1.setPlainText("import Qt 4.7; Item { width: 100; height: 100; Rectangle { id: child; anchors.fill: parent } }");
+ textEdit1.setPlainText("import QtQuick 1.1; Item { width: 100; height: 100; Rectangle { id: child; anchors.fill: parent } }");
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -6101,7 +6352,7 @@ void tst_TestCore::removeFillAnchorByChanging()
void tst_TestCore::testModelBindings()
{
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(createModel("QtQuick.Item", 1, 1));
QVERIFY(model.data());
NodeInstanceView *nodeInstanceView = new NodeInstanceView(model.data(), NodeInstanceServerInterface::TestModus);
@@ -6111,9 +6362,9 @@ void tst_TestCore::testModelBindings()
QCOMPARE(rootModelNode.allDirectSubModelNodes().count(), 0);
NodeInstance rootInstance = nodeInstanceView->instanceForNode(rootModelNode);
- // default width/height is forced to 100
- QCOMPARE(rootInstance.size().width(), 100.0);
- QCOMPARE(rootInstance.size().height(), 100.0);
+ // default width/height is 0
+ QCOMPARE(rootInstance.size().width(), 0.0);
+ QCOMPARE(rootInstance.size().height(), 0.0);
rootModelNode.variantProperty("width") = 200;
rootModelNode.variantProperty("height") = 100;
@@ -6121,7 +6372,7 @@ void tst_TestCore::testModelBindings()
QCOMPARE(rootInstance.size().width(), 200.0);
QCOMPARE(rootInstance.size().height(), 100.0);
- ModelNode childNode = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode childNode = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
childNode.variantProperty("width") = 100;
childNode.variantProperty("height") = 100;
@@ -6159,7 +6410,8 @@ void tst_TestCore::testModelBindings()
void tst_TestCore::testModelDynamicProperties()
{
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ MSKIP_ALL("Fix rewriter dynamic properties writing");
+ QScopedPointer<Model> model(createModel("QtQuick.Item", 1, 1));
QVERIFY(model.data());
TestView *testView = new TestView(model.data());
@@ -6169,15 +6421,15 @@ void tst_TestCore::testModelDynamicProperties()
ModelNode rootModelNode = rootQmlItemNode.modelNode();
rootModelNode.variantProperty("x") = 10;
- rootModelNode.variantProperty("myDouble") = qMakePair(QString("real"), QVariant(10));
- rootModelNode.variantProperty("myColor").setDynamicTypeNameAndValue("color", Qt::red);
+ rootModelNode.variantProperty("myColor").setDynamicTypeNameAndValue("color", QVariant(QColor(Qt::red)));
+ rootModelNode.variantProperty("myDouble").setDynamicTypeNameAndValue("real", 10);
QVERIFY(!rootModelNode.property("x").isDynamic());
QVERIFY(rootModelNode.property("myColor").isDynamic());
QVERIFY(rootModelNode.property("myDouble").isDynamic());
QCOMPARE(rootModelNode.property("myColor").dynamicTypeName(), QString("color"));
- QCOMPARE(rootModelNode.variantProperty("myColor").value(), QVariant(Qt::red));
+ QCOMPARE(rootModelNode.variantProperty("myColor").value(), QVariant(QColor(Qt::red)));
//QCOMPARE(rootQmlItemNode.instanceValue("myColor"), QVariant(Qt::red)); //not working yet
QCOMPARE(rootModelNode.property("myDouble").dynamicTypeName(), QString("real"));
QCOMPARE(rootModelNode.variantProperty("myDouble").value(), QVariant(10));
@@ -6203,7 +6455,7 @@ void tst_TestCore::testModelDynamicProperties()
void tst_TestCore::testModelSliding()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6212,10 +6464,10 @@ void tst_TestCore::testModelSliding()
ModelNode rootModelNode(view->rootModelNode());
- ModelNode rect00(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data"));
- ModelNode rect01(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data"));
- ModelNode rect02(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data"));
- ModelNode rect03(addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data"));
+ ModelNode rect00(addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data"));
+ ModelNode rect01(addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data"));
+ ModelNode rect02(addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data"));
+ ModelNode rect03(addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data"));
QVERIFY(rect00.isValid());
QVERIFY(rect01.isValid());
@@ -6271,13 +6523,13 @@ void tst_TestCore::testModelSliding()
void tst_TestCore::testRewriterChangeId()
{
- const char* qmlString = "import Qt 4.7\nRectangle { }";
+ const char* qmlString = "import QtQuick 1.1\nRectangle { }";
QPlainTextEdit textEdit;
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6296,25 +6548,25 @@ void tst_TestCore::testRewriterChangeId()
QCOMPARE(rootModelNode.id(), QString("rectId"));
- QString expected = "import Qt 4.7\n"
+ QString expected = "import QtQuick 1.1\n"
"Rectangle { id: rectId }";
QCOMPARE(textEdit.toPlainText(), expected);
// change id for node outside of hierarchy
- ModelNode node = view->createModelNode("Qt/Item", 4, 7);
+ ModelNode node = view->createModelNode("QtQuick.Item", 1, 1);
node.setId("myId");
}
void tst_TestCore::testRewriterRemoveId()
{
- const char* qmlString = "import Qt 4.7\nRectangle { id: rect }";
+ const char* qmlString = "import QtQuick 1.1\nRectangle { id: rect }";
QPlainTextEdit textEdit;
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6332,7 +6584,7 @@ void tst_TestCore::testRewriterRemoveId()
//
// remove id in text
//
- const char* qmlString2 = "import Qt 4.7\nRectangle { }";
+ const char* qmlString2 = "import QtQuick 1.1\nRectangle { }";
textEdit.setPlainText(qmlString2);
QCOMPARE(rootModelNode.id(), QString());
@@ -6340,13 +6592,13 @@ void tst_TestCore::testRewriterRemoveId()
void tst_TestCore::testRewriterChangeValueProperty()
{
- const char* qmlString = "import Qt 4.7\nRectangle { x: 10; y: 10 }";
+ const char* qmlString = "import QtQuick 1.1\nRectangle { x: 10; y: 10 }";
QPlainTextEdit textEdit;
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6369,14 +6621,14 @@ void tst_TestCore::testRewriterChangeValueProperty()
// change property for node outside of hierarchy
PropertyListType properties;
properties.append(QPair<QString,QVariant>("x", 10));
- ModelNode node = view->createModelNode("Qt/Item", 4, 7, properties);
+ ModelNode node = view->createModelNode("QtQuick.Item", 1, 1, properties);
node.variantProperty("x").setValue(20);
}
void tst_TestCore::testRewriterRemoveValueProperty()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"Rectangle {\n"
" x: 10\n"
" y: 10;\n"
@@ -6386,7 +6638,7 @@ void tst_TestCore::testRewriterRemoveValueProperty()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6407,7 +6659,7 @@ void tst_TestCore::testRewriterRemoveValueProperty()
rootModelNode.removeProperty("x");
const QLatin1String expected("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"Rectangle {\n"
" y: 10;\n"
"}\n");
@@ -6416,19 +6668,19 @@ void tst_TestCore::testRewriterRemoveValueProperty()
// remove property for node outside of hierarchy
PropertyListType properties;
properties.append(QPair<QString,QVariant>("x", 10));
- ModelNode node = view->createModelNode("Qt/Item", 4, 7, properties);
+ ModelNode node = view->createModelNode("QtQuick.Item", 1, 1, properties);
node.removeProperty("x");
}
void tst_TestCore::testRewriterSignalProperty()
{
- const char* qmlString = "import Qt 4.7\nRectangle { onColorChanged: {} }";
+ const char* qmlString = "import QtQuick 1.1\nRectangle { onColorChanged: {} }";
QPlainTextEdit textEdit;
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6448,13 +6700,13 @@ void tst_TestCore::testRewriterSignalProperty()
void tst_TestCore::testRewriterObjectTypeProperty()
{
- const char* qmlString = "import Qt 4.7\nRectangle { x: 10; y: 10 }";
+ const char* qmlString = "import QtQuick 1.1\nRectangle { x: 10; y: 10 }";
QPlainTextEdit textEdit;
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6468,11 +6720,11 @@ void tst_TestCore::testRewriterObjectTypeProperty()
ModelNode rootModelNode(view->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootModelNode.type(), QLatin1String("QtQuick.Rectangle"));
- view->changeRootNodeType(QLatin1String("Qt/Text"), 4, 7);
+ view->changeRootNodeType(QLatin1String("QtQuick.Text"), 1, 1);
- QCOMPARE(rootModelNode.type(), QLatin1String("Qt/Text"));
+ QCOMPARE(rootModelNode.type(), QLatin1String("QtQuick.Text"));
}
void tst_TestCore::testRewriterPropertyChanges()
@@ -6482,7 +6734,7 @@ void tst_TestCore::testRewriterPropertyChanges()
// Use a slightly more complicated example so that target properties are not resolved in default scope
const char* qmlString
- = "import Qt 4.7\n"
+ = "import QtQuick 1.1\n"
"Rectangle {\n"
" Text {\n"
" id: targetObj\n"
@@ -6502,7 +6754,7 @@ void tst_TestCore::testRewriterPropertyChanges()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6515,7 +6767,7 @@ void tst_TestCore::testRewriterPropertyChanges()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
QVERIFY(rootNode.propertyNames().contains(QLatin1String("data")));
QVERIFY(rootNode.propertyNames().contains(QLatin1String("states")));
QCOMPARE(rootNode.propertyNames().count(), 2);
@@ -6526,7 +6778,7 @@ void tst_TestCore::testRewriterPropertyChanges()
ModelNode stateNode = statesProperty.toModelNodeList().first();
QVERIFY(stateNode.isValid());
- QCOMPARE(stateNode.type(), QString("Qt/State"));
+ QCOMPARE(stateNode.type(), QString("QtQuick.State"));
QCOMPARE(stateNode.propertyNames(), QStringList("changes"));
NodeListProperty stateChangesProperty = stateNode.property("changes").toNodeListProperty();
@@ -6549,17 +6801,17 @@ void tst_TestCore::testRewriterPropertyChanges()
void tst_TestCore::testRewriterListModel()
{
- QSKIP("See BAUHAUS-157", SkipAll);
+ MSKIP_ALL("See BAUHAUS-157");
try {
// ListModel uses a custom parser
- const char* qmlString = "import Qt 4.7; ListModel {\n ListElement {\n age: 12\n} \n}";
+ const char* qmlString = "import QtQuick 1.1; ListModel {\n ListElement {\n age: 12\n} \n}";
QPlainTextEdit textEdit;
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
@@ -6588,7 +6840,7 @@ void tst_TestCore::testRewriterListModel()
void tst_TestCore::testRewriterAddProperty()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"}");
@@ -6596,7 +6848,7 @@ void tst_TestCore::testRewriterAddProperty()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6609,7 +6861,7 @@ void tst_TestCore::testRewriterAddProperty()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
rootNode.variantProperty(QLatin1String("x")).setValue(123);
@@ -6618,7 +6870,7 @@ void tst_TestCore::testRewriterAddProperty()
QCOMPARE(rootNode.variantProperty(QLatin1String("x")).value(), QVariant(123));
const QLatin1String expected("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"x: 123\n"
@@ -6629,7 +6881,7 @@ void tst_TestCore::testRewriterAddProperty()
void tst_TestCore::testRewriterAddPropertyInNestedObject()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Rectangle {\n"
@@ -6640,7 +6892,7 @@ void tst_TestCore::testRewriterAddPropertyInNestedObject()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6653,18 +6905,18 @@ void tst_TestCore::testRewriterAddPropertyInNestedObject()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Rectangle"));
ModelNode childNode = rootNode.nodeListProperty(QLatin1String("data")).toModelNodeList().at(0);
QVERIFY(childNode.isValid());
- QCOMPARE(childNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(childNode.type(), QLatin1String("QtQuick.Rectangle"));
QCOMPARE(childNode.id(), QLatin1String("rectangle1"));
childNode.variantProperty(QLatin1String("x")).setValue(10);
childNode.variantProperty(QLatin1String("y")).setValue(10);
const QLatin1String expected("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Rectangle {\n"
@@ -6678,7 +6930,7 @@ void tst_TestCore::testRewriterAddPropertyInNestedObject()
void tst_TestCore::testRewriterAddObjectDefinition()
{
- const QLatin1String qmlString("import Qt 4.7\n"
+ const QLatin1String qmlString("import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"}");
@@ -6686,7 +6938,7 @@ void tst_TestCore::testRewriterAddObjectDefinition()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6699,20 +6951,20 @@ void tst_TestCore::testRewriterAddObjectDefinition()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
- ModelNode childNode = view->createModelNode("Qt/MouseArea", 4, 7);
+ ModelNode childNode = view->createModelNode("QtQuick.MouseArea", 1, 1);
rootNode.nodeAbstractProperty(QLatin1String("data")).reparentHere(childNode);
QCOMPARE(rootNode.nodeProperty(QLatin1String("data")).toNodeListProperty().toModelNodeList().size(), 1);
childNode = rootNode.nodeProperty(QLatin1String("data")).toNodeListProperty().toModelNodeList().at(0);
- QCOMPARE(childNode.type(), QString(QLatin1String("Qt/MouseArea")));
+ QCOMPARE(childNode.type(), QString(QLatin1String("QtQuick.MouseArea")));
}
void tst_TestCore::testRewriterAddStatesArray()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"}");
@@ -6720,7 +6972,7 @@ void tst_TestCore::testRewriterAddStatesArray()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6732,13 +6984,13 @@ void tst_TestCore::testRewriterAddStatesArray()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
- ModelNode stateNode = view->createModelNode("Qt/State", 4, 7);
+ ModelNode stateNode = view->createModelNode("QtQuick.State", 1, 0);
rootNode.nodeListProperty(QLatin1String("states")).reparentHere(stateNode);
const QString expected1 = QLatin1String("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"states: [\n"
@@ -6748,11 +7000,11 @@ void tst_TestCore::testRewriterAddStatesArray()
"}");
QCOMPARE(textEdit.toPlainText(), expected1);
- ModelNode stateNode2 = view->createModelNode("Qt/State", 4, 7);
+ ModelNode stateNode2 = view->createModelNode("QtQuick.State", 1, 0);
rootNode.nodeListProperty(QLatin1String("states")).reparentHere(stateNode2);
const QString expected2 = QLatin1String("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"states: [\n"
@@ -6768,7 +7020,7 @@ void tst_TestCore::testRewriterAddStatesArray()
void tst_TestCore::testRewriterRemoveStates()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" states: [\n"
@@ -6782,7 +7034,7 @@ void tst_TestCore::testRewriterRemoveStates()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6794,7 +7046,7 @@ void tst_TestCore::testRewriterRemoveStates()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
NodeListProperty statesProperty = rootNode.nodeListProperty(QLatin1String("states"));
QVERIFY(statesProperty.isValid());
@@ -6804,7 +7056,7 @@ void tst_TestCore::testRewriterRemoveStates()
state.destroy();
const QLatin1String expected1("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" states: [\n"
@@ -6818,7 +7070,7 @@ void tst_TestCore::testRewriterRemoveStates()
state.destroy();
const QLatin1String expected2("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"}");
@@ -6828,7 +7080,7 @@ void tst_TestCore::testRewriterRemoveStates()
void tst_TestCore::testRewriterRemoveObjectDefinition()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" MouseArea {\n"
@@ -6840,7 +7092,7 @@ void tst_TestCore::testRewriterRemoveObjectDefinition()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6853,24 +7105,24 @@ void tst_TestCore::testRewriterRemoveObjectDefinition()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
QCOMPARE(rootNode.nodeProperty(QLatin1String("data")).toNodeListProperty().toModelNodeList().size(), 2);
ModelNode childNode = rootNode.nodeProperty(QLatin1String("data")).toNodeListProperty().toModelNodeList().at(1);
- QCOMPARE(childNode.type(), QString(QLatin1String("Qt/MouseArea")));
+ QCOMPARE(childNode.type(), QString(QLatin1String("QtQuick.MouseArea")));
childNode.destroy();
QCOMPARE(rootNode.nodeProperty(QLatin1String("data")).toNodeListProperty().toModelNodeList().size(), 1);
childNode = rootNode.nodeProperty(QLatin1String("data")).toNodeListProperty().toModelNodeList().at(0);
- QCOMPARE(childNode.type(), QString(QLatin1String("Qt/MouseArea")));
+ QCOMPARE(childNode.type(), QString(QLatin1String("QtQuick.MouseArea")));
childNode.destroy();
QVERIFY(!rootNode.hasProperty(QLatin1String("data")));
const QString expected = QLatin1String("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" // some comment here\n"
@@ -6878,9 +7130,9 @@ void tst_TestCore::testRewriterRemoveObjectDefinition()
QCOMPARE(textEdit.toPlainText(), expected);
// don't crash when deleting nodes not in any hierarchy
- ModelNode node1 = view->createModelNode("Qt/Rectangle", 4, 7);
- ModelNode node2 = addNodeListChild(node1, "Qt/Item", 4, 7, "data");
- ModelNode node3 = addNodeListChild(node2, "Qt/Item", 4, 7, "data");
+ ModelNode node1 = view->createModelNode("QtQuick.Rectangle", 1, 0);
+ ModelNode node2 = addNodeListChild(node1, "QtQuick.Item", 1, 1, "data");
+ ModelNode node3 = addNodeListChild(node2, "QtQuick.Item", 1, 1, "data");
node3.destroy();
node1.destroy();
@@ -6889,7 +7141,7 @@ void tst_TestCore::testRewriterRemoveObjectDefinition()
void tst_TestCore::testRewriterRemoveScriptBinding()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" x: 10; // some comment\n"
@@ -6899,7 +7151,7 @@ void tst_TestCore::testRewriterRemoveScriptBinding()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6912,7 +7164,7 @@ void tst_TestCore::testRewriterRemoveScriptBinding()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
QCOMPARE(rootNode.properties().size(), 2);
QVERIFY(rootNode.hasProperty(QLatin1String("x")));
@@ -6929,7 +7181,7 @@ void tst_TestCore::testRewriterRemoveScriptBinding()
QCOMPARE(rootNode.properties().size(), 0);
const QString expected = QLatin1String("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" // some comment\n"
@@ -6940,7 +7192,7 @@ void tst_TestCore::testRewriterRemoveScriptBinding()
void tst_TestCore::testRewriterNodeReparenting()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Item {\n"
@@ -6952,7 +7204,7 @@ void tst_TestCore::testRewriterNodeReparenting()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -6965,15 +7217,15 @@ void tst_TestCore::testRewriterNodeReparenting()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
ModelNode itemNode = rootNode.nodeListProperty("data").toModelNodeList().at(0);
QVERIFY(itemNode.isValid());
- QCOMPARE(itemNode.type(), QLatin1String("Qt/Item"));
+ QCOMPARE(itemNode.type(), QLatin1String("QtQuick.Item"));
ModelNode mouseArea = itemNode.nodeListProperty("data").toModelNodeList().at(0);
QVERIFY(mouseArea.isValid());
- QCOMPARE(mouseArea.type(), QLatin1String("Qt/MouseArea"));
+ QCOMPARE(mouseArea.type(), QLatin1String("QtQuick.MouseArea"));
rootNode.nodeListProperty("data").reparentHere(mouseArea);
@@ -6981,7 +7233,7 @@ void tst_TestCore::testRewriterNodeReparenting()
QCOMPARE(rootNode.nodeListProperty("data").toModelNodeList().size(), 2);
QString expected = "\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Item {\n"
@@ -6993,9 +7245,9 @@ void tst_TestCore::testRewriterNodeReparenting()
QCOMPARE(textEdit.toPlainText(), expected);
// reparenting outside of the hierarchy
- ModelNode node1 = view->createModelNode("Qt/Rectangle", 4, 7);
- ModelNode node2 = view->createModelNode("Qt/Item", 4, 7);
- ModelNode node3 = view->createModelNode("Qt/Item", 4, 7);
+ ModelNode node1 = view->createModelNode("QtQuick.Rectangle", 1, 0);
+ ModelNode node2 = view->createModelNode("QtQuick.Item", 1, 1);
+ ModelNode node3 = view->createModelNode("QtQuick.Item", 1, 1);
node2.nodeListProperty("data").reparentHere(node3);
node1.nodeListProperty("data").reparentHere(node2);
@@ -7003,7 +7255,7 @@ void tst_TestCore::testRewriterNodeReparenting()
rootNode.nodeListProperty("data").reparentHere(node1);
expected = "\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Item {\n"
@@ -7023,11 +7275,11 @@ void tst_TestCore::testRewriterNodeReparenting()
QCOMPARE(textEdit.toPlainText(), expected);
// reparent out of the hierarchy
- ModelNode node4 = view->createModelNode("Qt/Rectangle", 4, 7);
+ ModelNode node4 = view->createModelNode("QtQuick.Rectangle", 1, 0);
node4.nodeListProperty("data").reparentHere(node1);
expected = "\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Item {\n"
@@ -7043,7 +7295,7 @@ void tst_TestCore::testRewriterNodeReparenting()
void tst_TestCore::testRewriterNodeReparentingWithTransaction()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" id: rootItem\n"
@@ -7060,7 +7312,7 @@ void tst_TestCore::testRewriterNodeReparentingWithTransaction()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -7073,17 +7325,17 @@ void tst_TestCore::testRewriterNodeReparentingWithTransaction()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QLatin1String("QtQuick.Rectangle"));
QCOMPARE(rootNode.id(), QLatin1String("rootItem"));
ModelNode item1Node = rootNode.nodeListProperty("data").toModelNodeList().at(0);
QVERIFY(item1Node.isValid());
- QCOMPARE(item1Node.type(), QLatin1String("Qt/Item"));
+ QCOMPARE(item1Node.type(), QLatin1String("QtQuick.Item"));
QCOMPARE(item1Node.id(), QLatin1String("firstItem"));
ModelNode item2Node = rootNode.nodeListProperty("data").toModelNodeList().at(1);
QVERIFY(item2Node.isValid());
- QCOMPARE(item2Node.type(), QLatin1String("Qt/Item"));
+ QCOMPARE(item2Node.type(), QLatin1String("QtQuick.Item"));
QCOMPARE(item2Node.id(), QLatin1String("secondItem"));
RewriterTransaction transaction = testRewriterView->beginRewriterTransaction();
@@ -7094,7 +7346,7 @@ void tst_TestCore::testRewriterNodeReparentingWithTransaction()
transaction.commit();
const QLatin1String expected("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" id: rootItem\n"
@@ -7113,7 +7365,7 @@ void tst_TestCore::testRewriterNodeReparentingWithTransaction()
void tst_TestCore::testRewriterMovingInOut()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"}");
@@ -7121,7 +7373,7 @@ void tst_TestCore::testRewriterMovingInOut()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -7134,13 +7386,13 @@ void tst_TestCore::testRewriterMovingInOut()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
- ModelNode newNode = view->createModelNode("Qt/MouseArea", 4, 7);
+ ModelNode newNode = view->createModelNode("QtQuick.MouseArea", 1, 1);
rootNode.nodeListProperty(QLatin1String("data")).reparentHere(newNode);
const QLatin1String expected1("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"MouseArea {\n"
@@ -7159,17 +7411,19 @@ void tst_TestCore::testRewriterMovingInOut()
newNode.destroy();
const QLatin1String expected2("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"}");
QCOMPARE(textEdit.toPlainText(), expected2);
+
+ QApplication::processEvents();
}
void tst_TestCore::testRewriterMovingInOutWithTransaction()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"}");
@@ -7177,7 +7431,7 @@ void tst_TestCore::testRewriterMovingInOutWithTransaction()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -7190,11 +7444,11 @@ void tst_TestCore::testRewriterMovingInOutWithTransaction()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
RewriterTransaction transaction = view->beginRewriterTransaction();
- ModelNode newNode = view->createModelNode("Qt/MouseArea", 4, 7);
+ ModelNode newNode = view->createModelNode("QtQuick.MouseArea", 1, 1);
rootNode.nodeListProperty(QLatin1String("data")).reparentHere(newNode);
#define move(node, x, y) {\
@@ -7210,17 +7464,18 @@ void tst_TestCore::testRewriterMovingInOutWithTransaction()
transaction.commit();
const QLatin1String expected2("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
"}");
QCOMPARE(textEdit.toPlainText(), expected2);
+ QApplication::processEvents();
}
void tst_TestCore::testRewriterComplexMovingInOut()
{
const QLatin1String qmlString("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Item {\n"
@@ -7230,7 +7485,7 @@ void tst_TestCore::testRewriterComplexMovingInOut()
textEdit.setPlainText(qmlString);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -7243,14 +7498,14 @@ void tst_TestCore::testRewriterComplexMovingInOut()
ModelNode rootNode = view->rootModelNode();
QVERIFY(rootNode.isValid());
- QCOMPARE(rootNode.type(), QString("Qt/Rectangle"));
+ QCOMPARE(rootNode.type(), QString("QtQuick.Rectangle"));
ModelNode itemNode = rootNode.nodeListProperty(QLatin1String("data")).toModelNodeList().at(0);
- ModelNode newNode = view->createModelNode("Qt/MouseArea", 4, 7);
+ ModelNode newNode = view->createModelNode("QtQuick.MouseArea", 1, 1);
rootNode.nodeListProperty(QLatin1String("data")).reparentHere(newNode);
const QLatin1String expected1("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Item {\n"
@@ -7270,7 +7525,7 @@ void tst_TestCore::testRewriterComplexMovingInOut()
move(newNode, 3, 3);
const QLatin1String expected2("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Item {\n"
@@ -7286,7 +7541,7 @@ void tst_TestCore::testRewriterComplexMovingInOut()
itemNode.nodeListProperty(QLatin1String("data")).reparentHere(newNode);
const QLatin1String expected3("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Item {\n"
@@ -7306,22 +7561,23 @@ void tst_TestCore::testRewriterComplexMovingInOut()
newNode.destroy();
const QLatin1String expected4("\n"
- "import Qt 4.7\n"
+ "import QtQuick 1.1\n"
"\n"
"Rectangle {\n"
" Item {\n"
" }\n"
"}");
QCOMPARE(textEdit.toPlainText(), expected4);
+ QApplication::processEvents();
}
void tst_TestCore::removeCenteredInAnchorByDetaching()
{
QPlainTextEdit textEdit1;
- textEdit1.setPlainText("import Qt 4.7; Item { Rectangle { id: child; anchors.centerIn: parent } }");
+ textEdit1.setPlainText("import QtQuick 1.1; Item { Rectangle { id: child; anchors.centerIn: parent } }");
NotIndentingTextEditModifier modifier1(&textEdit1);
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item"));
QScopedPointer<TestRewriterView> testRewriterView1(new TestRewriterView());
testRewriterView1->setTextModifier(&modifier1);
@@ -7372,7 +7628,7 @@ void tst_TestCore::removeCenteredInAnchorByDetaching()
void tst_TestCore::changePropertyBinding()
{
- QScopedPointer<Model> model(Model::create("Qt/Item"));
+ QScopedPointer<Model> model(createModel("QtQuick.Item"));
QVERIFY(model.data());
QScopedPointer<TestView> view(new TestView(model.data()));
@@ -7381,7 +7637,7 @@ void tst_TestCore::changePropertyBinding()
ModelNode rootModelNode(view->rootModelNode());
rootModelNode.variantProperty("width") = 20;
- ModelNode firstChild = addNodeListChild(rootModelNode, "Qt/Rectangle", 4, 7, "data");
+ ModelNode firstChild = addNodeListChild(rootModelNode, "QtQuick.Rectangle", 1, 0, "data");
firstChild.bindingProperty("width").setExpression(QString("parent.width"));
firstChild.variantProperty("height")= 10;
QVERIFY(firstChild.isValid());
@@ -7421,7 +7677,7 @@ void tst_TestCore::loadTestFiles()
textEdit.setPlainText(QString(file.readAll()));
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
@@ -7432,7 +7688,7 @@ void tst_TestCore::loadTestFiles()
QVERIFY(model.data());
ModelNode rootModelNode(testRewriterView->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QLatin1String("Qt/Item"));
+ QCOMPARE(rootModelNode.type(), QLatin1String("QtQuick.Item"));
QVERIFY(rootModelNode.allDirectSubModelNodes().isEmpty());
}
@@ -7444,7 +7700,7 @@ void tst_TestCore::loadTestFiles()
textEdit.setPlainText(QString(file.readAll()));
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
@@ -7455,14 +7711,14 @@ void tst_TestCore::loadTestFiles()
QVERIFY(model.data());
ModelNode rootModelNode(testRewriterView->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootModelNode.type(), QLatin1String("QtQuick.Rectangle"));
QCOMPARE(rootModelNode.allDirectSubModelNodes().count(), 1);
QCOMPARE(rootModelNode.variantProperty("width").value().toInt(), 200);
QCOMPARE(rootModelNode.variantProperty("height").value().toInt(), 200);
ModelNode textNode(rootModelNode.allDirectSubModelNodes().first());
QVERIFY(textNode.isValid());
- QCOMPARE(textNode.type(), QLatin1String("Qt/Text"));
+ QCOMPARE(textNode.type(), QLatin1String("QtQuick.Text"));
QCOMPARE(textNode.variantProperty("x").value().toInt(), 66);
QCOMPARE(textNode.variantProperty("y").value().toInt(), 93);
}
@@ -7474,7 +7730,7 @@ void tst_TestCore::loadTestFiles()
textEdit.setPlainText(QString(file.readAll()));
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
@@ -7485,7 +7741,7 @@ void tst_TestCore::loadTestFiles()
QVERIFY(model.data());
ModelNode rootModelNode(testRewriterView->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootModelNode.type(), QLatin1String("QtQuick.Rectangle"));
QCOMPARE(rootModelNode.allDirectSubModelNodes().count(), 4);
QCOMPARE(rootModelNode.variantProperty("width").value().toInt(), 200);
QCOMPARE(rootModelNode.variantProperty("height").value().toInt(), 200);
@@ -7496,14 +7752,14 @@ void tst_TestCore::loadTestFiles()
ModelNode textNode(rootModelNode.nodeListProperty("data").toModelNodeList().first());
QVERIFY(textNode.isValid());
QCOMPARE(textNode.id(), QLatin1String("text"));
- QCOMPARE(textNode.type(), QLatin1String("Qt/Text"));
+ QCOMPARE(textNode.type(), QLatin1String("QtQuick.Text"));
QCOMPARE(textNode.variantProperty("x").value().toInt(), 66);
QCOMPARE(textNode.variantProperty("y").value().toInt(), 93);
ModelNode imageNode(rootModelNode.nodeListProperty("data").toModelNodeList().last());
QVERIFY(imageNode.isValid());
QCOMPARE(imageNode.id(), QLatin1String("image1"));
- QCOMPARE(imageNode.type(), QLatin1String("Qt/Image"));
+ QCOMPARE(imageNode.type(), QLatin1String("QtQuick.Image"));
QCOMPARE(imageNode.variantProperty("x").value().toInt(), 41);
QCOMPARE(imageNode.variantProperty("y").value().toInt(), 46);
QCOMPARE(imageNode.variantProperty("source").value().toUrl(), QUrl("images/qtcreator.png"));
@@ -7514,7 +7770,7 @@ void tst_TestCore::loadTestFiles()
QCOMPARE(rootModelNode.nodeListProperty("states").toModelNodeList().count(), 2);
}
- QSKIP("Fails because the text editor model doesn't know about components", SkipAll);
+ MSKIP_ALL("Fails because the text editor model doesn't know about components");
{ //usingbutton.qml
QFile file(":/fx/usingbutton.qml");
QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text));
@@ -7523,7 +7779,7 @@ void tst_TestCore::loadTestFiles()
textEdit.setPlainText(QString(file.readAll()));
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
@@ -7535,12 +7791,12 @@ void tst_TestCore::loadTestFiles()
QVERIFY(model.data());
ModelNode rootModelNode(testRewriterView->rootModelNode());
QVERIFY(rootModelNode.isValid());
- QCOMPARE(rootModelNode.type(), QLatin1String("Qt/Rectangle"));
+ QCOMPARE(rootModelNode.type(), QLatin1String("QtQuick.Rectangle"));
QVERIFY(!rootModelNode.allDirectSubModelNodes().isEmpty());
}
}
-static QString rectWithGradient = "import Qt 4.7\n"
+static QString rectWithGradient = "import QtQuick 1.1\n"
"Rectangle {\n"
" gradient: Gradient {\n"
" id: pGradient\n"
@@ -7560,7 +7816,7 @@ void tst_TestCore::loadGradient()
textEdit.setPlainText(rectWithGradient);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
@@ -7579,7 +7835,7 @@ void tst_TestCore::loadGradient()
QVERIFY(gradientProperty.isNodeProperty());
ModelNode gradientPropertyModelNode = gradientProperty.toNodeProperty().modelNode();
QVERIFY(gradientPropertyModelNode.isValid());
- QCOMPARE(gradientPropertyModelNode.type(), QString("Qt/Gradient"));
+ QCOMPARE(gradientPropertyModelNode.type(), QString("QtQuick.Gradient"));
QCOMPARE(gradientPropertyModelNode.allDirectSubModelNodes().size(), 2);
AbstractProperty stopsProperty = gradientPropertyModelNode.property("stops");
@@ -7592,7 +7848,7 @@ void tst_TestCore::loadGradient()
ModelNode pOne = stops.first();
ModelNode pTwo = stops.last();
- QCOMPARE(pOne.type(), QString("Qt/GradientStop"));
+ QCOMPARE(pOne.type(), QString("QtQuick.GradientStop"));
QCOMPARE(pOne.id(), QString("pOne"));
QCOMPARE(pOne.allDirectSubModelNodes().size(), 0);
QCOMPARE(pOne.propertyNames().size(), 2);
@@ -7601,7 +7857,7 @@ void tst_TestCore::loadGradient()
QCOMPARE(pOne.variantProperty("color").value().type(), QVariant::Color);
QCOMPARE(pOne.variantProperty("color").value().value<QColor>(), QColor("lightsteelblue"));
- QCOMPARE(pTwo.type(), QString("Qt/GradientStop"));
+ QCOMPARE(pTwo.type(), QString("QtQuick.GradientStop"));
QCOMPARE(pTwo.id(), QString("pTwo"));
QCOMPARE(pTwo.allDirectSubModelNodes().size(), 0);
QCOMPARE(pTwo.propertyNames().size(), 2);
@@ -7614,8 +7870,8 @@ void tst_TestCore::loadGradient()
{
ModelNode gradientNode = rootModelNode.allDirectSubModelNodes().last();
QVERIFY(gradientNode.isValid());
- QVERIFY(!gradientNode.metaInfo().isSubclassOf("Qt/Item", -1, -1));
- QCOMPARE(gradientNode.type(), QString("Qt/Gradient"));
+ QVERIFY(!gradientNode.metaInfo().isSubclassOf("QtQuick.Item", -1, -1));
+ QCOMPARE(gradientNode.type(), QString("QtQuick.Gradient"));
QCOMPARE(gradientNode.id(), QString("secondGradient"));
QCOMPARE(gradientNode.allDirectSubModelNodes().size(), 2);
@@ -7629,7 +7885,7 @@ void tst_TestCore::loadGradient()
ModelNode nOne = stops.first();
ModelNode nTwo = stops.last();
- QCOMPARE(nOne.type(), QString("Qt/GradientStop"));
+ QCOMPARE(nOne.type(), QString("QtQuick.GradientStop"));
QCOMPARE(nOne.id(), QString("nOne"));
QCOMPARE(nOne.allDirectSubModelNodes().size(), 0);
QCOMPARE(nOne.propertyNames().size(), 2);
@@ -7638,7 +7894,7 @@ void tst_TestCore::loadGradient()
QCOMPARE(nOne.variantProperty("color").value().type(), QVariant::Color);
QCOMPARE(nOne.variantProperty("color").value().value<QColor>(), QColor("blue"));
- QCOMPARE(nTwo.type(), QString("Qt/GradientStop"));
+ QCOMPARE(nTwo.type(), QString("QtQuick.GradientStop"));
QCOMPARE(nTwo.id(), QString("nTwo"));
QCOMPARE(nTwo.allDirectSubModelNodes().size(), 0);
QCOMPARE(nTwo.propertyNames().size(), 2);
@@ -7656,7 +7912,7 @@ void tst_TestCore::changeGradientId()
textEdit.setPlainText(rectWithGradient);
NotIndentingTextEditModifier textModifier(&textEdit);
- QScopedPointer<Model> model(Model::create("Qt/Item", 4, 7));
+ QScopedPointer<Model> model(Model::create("QtQuick.Item", 1, 1));
QVERIFY(model.data());
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
@@ -7689,7 +7945,7 @@ void tst_TestCore::changeGradientId()
firstStop.destroy();
QVERIFY(!firstStop.isValid());
- ModelNode gradientStop = addNodeListChild(gradientNode, "Qt/GradientStop", 4, 7, "stops");
+ ModelNode gradientStop = addNodeListChild(gradientNode, "QtQuick.GradientStop", 1, 0, "stops");
gradientStop.variantProperty("position") = 0.5;
gradientStop.variantProperty("color") = QColor("yellow");
diff --git a/tests/auto/qml/qmldesigner/coretests/tst_testcore.h b/tests/auto/qml/qmldesigner/coretests/tst_testcore.h
index f8489ed54b..a8293a33ae 100644
--- a/tests/auto/qml/qmldesigner/coretests/tst_testcore.h
+++ b/tests/auto/qml/qmldesigner/coretests/tst_testcore.h
@@ -44,6 +44,10 @@ public:
private slots:
void initTestCase();
void cleanupTestCase();
+ void init();
+ void cleanup();
+
+
//
// unit tests MetaInfo, NodeMetaInfo, PropertyMetaInfo
@@ -57,7 +61,10 @@ private slots:
void testMetaInfoEnums();
void testMetaInfoProperties();
void testMetaInfoDotProperties();
+ void testMetaInfoQtQuick1Vs2();
void testMetaInfoListProperties();
+ void testQtQuick20Basic();
+ void testQtQuick20BasicRectangle();
//
// unit tests Model, ModelNode, NodeProperty, AbstractView
@@ -161,6 +168,7 @@ private slots:
// integration tests
//
void testBasicStates();
+ void testBasicStatesQtQuick20();
void testStates();
void testStatesBaseState();
void testStatesRewriter();
diff --git a/tests/auto/qml/qmldesigner/testview.cpp b/tests/auto/qml/qmldesigner/testview.cpp
index b4383ecb4c..b1d0aca75a 100644
--- a/tests/auto/qml/qmldesigner/testview.cpp
+++ b/tests/auto/qml/qmldesigner/testview.cpp
@@ -30,6 +30,7 @@
#include "testview.h"
#include <QDebug>
+#include <QUrl>
#include <qtestcase.h>
#include <abstractproperty.h>
#include <bindingproperty.h>
@@ -151,10 +152,10 @@ void TestView::nodeOrderChanged(const QmlDesigner::NodeListProperty &listPropert
m_methodCalls += MethodCall("nodeOrderChanged", QStringList() << listProperty.name() << movedNode.id() << QString::number(oldIndex));
}
-void TestView::stateChanged(const QmlDesigner::QmlModelState &newQmlModelState, const QmlDesigner::QmlModelState &oldQmlModelState)
+void TestView::actualStateChanged(const QmlDesigner::ModelNode &node)
{
- QmlDesigner::QmlModelView::stateChanged(newQmlModelState, oldQmlModelState);
- m_methodCalls += MethodCall("stateChanged", QStringList() << newQmlModelState.name() << oldQmlModelState.name());
+ QmlDesigner::QmlModelView::actualStateChanged(node);
+ m_methodCalls += MethodCall("actualStateChanged", QStringList() << node.id());
}
QList<TestView::MethodCall> &TestView::methodCalls()
diff --git a/tests/auto/qml/qmldesigner/testview.h b/tests/auto/qml/qmldesigner/testview.h
index 13033402a1..a377d38d92 100644
--- a/tests/auto/qml/qmldesigner/testview.h
+++ b/tests/auto/qml/qmldesigner/testview.h
@@ -72,8 +72,7 @@ public:
void nodeOrderChanged(const QmlDesigner::NodeListProperty &listProperty, const QmlDesigner::ModelNode &movedNode, int oldIndex);
- void stateChanged(const QmlDesigner::QmlModelState &newQmlModelState, const QmlDesigner::QmlModelState &oldQmlModelState);
-
+ void actualStateChanged(const QmlDesigner::ModelNode &node);
QList<MethodCall> &methodCalls();
QString lastFunction() const;
diff --git a/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp b/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp
index 338015b9c1..d5358c3f61 100644
--- a/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp
+++ b/tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp
@@ -75,7 +75,8 @@ private Q_SLOTS:
void ifStatementWithBraces3();
void ifStatementMixed();
void ifStatementAndComments();
- void ifStatementLongCondition();
+ void ifStatementLongCondition1();
+ void ifStatementLongCondition2();
void moreIfThenElse();
void strayElse();
void oneLineIf();
@@ -941,7 +942,7 @@ void tst_QMLCodeFormatter::ifStatementAndComments()
checkIndent(data);
}
-void tst_QMLCodeFormatter::ifStatementLongCondition()
+void tst_QMLCodeFormatter::ifStatementLongCondition1()
{
QList<Line> data;
data << Line("Rectangle {")
@@ -958,6 +959,23 @@ void tst_QMLCodeFormatter::ifStatementLongCondition()
checkIndent(data);
}
+void tst_QMLCodeFormatter::ifStatementLongCondition2()
+{
+ QList<Line> data;
+ data << Line("function test() {")
+ << Line(" if (foo(function() {")
+ << Line(" if (xx) {")
+ << Line(" yy = yy - 1")
+ << Line(" } else {")
+ << Line(" yy = yy + 1")
+ << Line(" }")
+ << Line(" })) {")
+ << Line(" zz = !zz")
+ << Line(" }")
+ << Line("}");
+ checkIndent(data);
+}
+
void tst_QMLCodeFormatter::strayElse()
{
QList<Line> data;
@@ -1572,7 +1590,7 @@ void tst_QMLCodeFormatter::bug3()
checkIndent(data);
}
-QTEST_APPLESS_MAIN(tst_QMLCodeFormatter)
+QTEST_MAIN(tst_QMLCodeFormatter)
#include "tst_qmlcodeformatter.moc"
diff --git a/tests/auto/qml/qmljssimplereader/qmljssimplereader.pro b/tests/auto/qml/qmljssimplereader/qmljssimplereader.pro
new file mode 100644
index 0000000000..20722acddf
--- /dev/null
+++ b/tests/auto/qml/qmljssimplereader/qmljssimplereader.pro
@@ -0,0 +1,12 @@
+include(../../qttest.pri)
+
+DEFINES+=QTCREATORDIR=\\\"$$IDE_SOURCE_TREE\\\"
+DEFINES+=TESTSRCDIR=\\\"$$PWD\\\"
+
+include($$IDE_SOURCE_TREE/src/libs/utils/utils.pri)
+include($$IDE_SOURCE_TREE/src/libs/qmljs/qmljs.pri)
+
+TARGET = tst_qmljssimplereader
+
+SOURCES += \
+ tst_qmljssimplereader.cpp
diff --git a/tests/auto/qml/qmljssimplereader/tst_qmljssimplereader.cpp b/tests/auto/qml/qmljssimplereader/tst_qmljssimplereader.cpp
new file mode 100644
index 0000000000..80972ca410
--- /dev/null
+++ b/tests/auto/qml/qmljssimplereader/tst_qmljssimplereader.cpp
@@ -0,0 +1,257 @@
+/****************************************************************************
+**
+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** 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, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+#include <qmljs/qmljssimplereader.h>
+
+#include <QtTest>
+#include <algorithm>
+
+using namespace QmlJS;
+
+class tst_SimpleReader : public QObject
+{
+ Q_OBJECT
+public:
+ tst_SimpleReader();
+
+private slots:
+ void testWellFormed();
+ void testIllFormed01();
+ void testIllFormed02();
+ void testArrays();
+ void testBug01();
+};
+
+tst_SimpleReader::tst_SimpleReader()
+{
+}
+
+void tst_SimpleReader::testWellFormed()
+{
+ char source[] = "RootNode {\n"
+ " ChildNode {\n"
+ " property01: 10\n"
+ " }\n"
+ " ChildNode {\n"
+ " propertyString: \"str\"\n"
+ " InnerChild {\n"
+ " test: \"test\"\n"
+ " }\n"
+ " }\n"
+ " propertyBlah: false\n"
+ "}\n";
+
+ QmlJS::SimpleReaderNode::WeakPtr weak01;
+ QmlJS::SimpleReaderNode::WeakPtr weak02;
+ {
+ QmlJS::SimpleReader reader;
+ QmlJS::SimpleReaderNode::Ptr rootNode = reader.readFromSource(source);
+ QVERIFY(reader.errors().isEmpty());
+ QVERIFY(rootNode);
+ QVERIFY(rootNode->isValid());
+ QCOMPARE(rootNode->name(), QLatin1String("RootNode"));
+
+ QCOMPARE(rootNode->children().count(), 2);
+ QCOMPARE(rootNode->properties().count(), 1);
+
+ QVERIFY(rootNode->properties().contains("propertyBlah"));
+ QCOMPARE(rootNode->property("property01").toBool(), false);
+
+ QVERIFY(rootNode->children().first()->isValid());
+ QVERIFY(!rootNode->children().first()->isRoot());
+
+ QVERIFY(rootNode->children().first()->properties().contains("property01"));
+ QCOMPARE(rootNode->children().first()->property("property01").toInt(), 10);
+
+ QmlJS::SimpleReaderNode::Ptr secondChild = rootNode->children().at(1);
+
+ QVERIFY(secondChild);
+ QVERIFY(secondChild->isValid());
+ QVERIFY(!secondChild->isRoot());
+ QCOMPARE(secondChild->name(), QLatin1String("ChildNode"));
+
+ QVERIFY(secondChild->properties().contains("propertyString"));
+ QCOMPARE(secondChild->property("propertyString").toString(), QLatin1String("str"));
+
+ QCOMPARE(secondChild->children().count(), 1);
+
+ QmlJS::SimpleReaderNode::Ptr innerChild = secondChild->children().first();
+
+ QVERIFY(innerChild);
+ QVERIFY(innerChild->isValid());
+ QVERIFY(!innerChild->isRoot());
+ QCOMPARE(innerChild->name(), QLatin1String("InnerChild"));
+
+ QVERIFY(innerChild->properties().contains("test"));
+ QCOMPARE(innerChild->property("test").toString(), QLatin1String("test"));
+
+ weak01 = rootNode;
+ weak02 = secondChild;
+ }
+
+ QVERIFY(!weak01);
+ QVERIFY(!weak02);
+}
+
+void tst_SimpleReader::testIllFormed01()
+{
+ char source[] = "RootNode {\n"
+ " ChildNode {\n"
+ " property01: 10\n"
+ " }\n"
+ " ChildNode {\n"
+ " propertyString: \"str\"\n"
+ " InnerChild \n" //missing {
+ " test: \"test\"\n"
+ " }\n"
+ " }\n"
+ " propertyBlah: false\n"
+ "}\n";
+ QmlJS::SimpleReader reader;
+ QmlJS::SimpleReaderNode::Ptr rootNode = reader.readFromSource(source);
+
+ QVERIFY(!rootNode);
+ QVERIFY(!reader.errors().empty());
+}
+
+void tst_SimpleReader::testIllFormed02()
+{
+ char source[] = "RootNode {\n"
+ " ChildNode {\n"
+ " property01: 10\n"
+ " property01: 20\n"
+ " }\n"
+ " ChildNode {\n"
+ " propertyString: \"str\"\n"
+ " InnerChild {\n"
+ " test: \"test\"\n"
+ " test: \"test2\"\n"
+ " }\n"
+ " }\n"
+ "}\n";
+
+ QmlJS::SimpleReader reader;
+ QmlJS::SimpleReaderNode::Ptr rootNode = reader.readFromSource(source);
+
+ QVERIFY(rootNode);
+ QVERIFY(rootNode->isValid());
+ QVERIFY(rootNode->isRoot());
+
+ QVERIFY(!reader.errors().empty());
+ QCOMPARE(reader.errors().count(), 2);
+
+ QmlJS::SimpleReaderNode::Ptr firstChild = rootNode->children().at(0);
+
+ QVERIFY(firstChild);
+ QVERIFY(firstChild->isValid());
+ QVERIFY(!firstChild->isRoot());
+
+ QCOMPARE(firstChild->properties().count(), 1);
+ QVERIFY(firstChild->properties().contains("property01"));
+ QCOMPARE(firstChild->property("property01").toString(), QLatin1String("20"));
+}
+
+void tst_SimpleReader::testArrays()
+{
+ char source[] = "RootNode {\n"
+ " propertyArray: [\"string01\", \"string02\" ]\n"
+ " ChildNode {\n"
+ " propertyArray: [\"string01\", \"string02\" ]\n"
+ " propertyArrayMixed: [\"string03\", [\"string01\", \"string02\"] ]\n"
+ " }\n"
+ "}\n";
+
+ QList<QVariant> variantList;
+ variantList << QVariant(QLatin1String("string01")) << QVariant(QLatin1String("string02"));
+ const QVariant variant = variantList;
+
+ QmlJS::SimpleReader reader;
+ QmlJS::SimpleReaderNode::Ptr rootNode = reader.readFromSource(source);
+
+ QVERIFY(rootNode);
+ QVERIFY(rootNode->isValid());
+ QVERIFY(rootNode->isRoot());
+
+ QCOMPARE(rootNode->property("propertyArray"), variant);
+
+
+ QmlJS::SimpleReaderNode::Ptr firstChild = rootNode->children().at(0);
+
+ QVERIFY(firstChild);
+ QVERIFY(firstChild->isValid());
+ QVERIFY(!firstChild->isRoot());
+ QCOMPARE(firstChild->property("propertyArray"), variant);
+
+ QList<QVariant> variantList2;
+ variantList2 << QVariant(QLatin1String("string03")) << variant;
+ const QVariant variant2 = variantList2;
+
+ QCOMPARE(firstChild->property("propertyArrayMixed"), variant2);
+}
+
+void tst_SimpleReader::testBug01()
+{
+ char source[] = "\n"
+ "AutoTypes {\n"
+ " imports: [ \"import HelperWidgets 1.0\", \"import QtQuick 1.0\", \"import Bauhaus 1.0\" ]\n"
+ " Type {\n"
+ " typeNames: [\"int\"]\n"
+ " sourceFile: \"IntEditorTemplate.qml\"\n"
+ " }\n"
+ " Type {\n"
+ " typeNames: [\"real\", \"double\", \"qreal\"]\n"
+ " sourceFile: \"RealEditorTemplate.qml\"\n"
+ " }\n"
+ " Type {\n"
+ " typeNames: [\"string\", \"QString\", \"QUrl\", \"url\"]\n"
+ " sourceFile: \"StringEditorTemplate.qml\"\n"
+ " }\n"
+ " Type {\n"
+ " typeNames: [\"bool\", \"boolean\"]\n"
+ " sourceFile: \"BooleanEditorTemplate.qml\"\n"
+ " }\n"
+ " Type {\n"
+ " typeNames: [\"color\", \"QColor\"]\n"
+ " sourceFile: \"ColorEditorTemplate.qml\"\n"
+ " }\n"
+ "}\n";
+
+ QmlJS::SimpleReader reader;
+ QmlJS::SimpleReaderNode::Ptr rootNode = reader.readFromSource(source);
+
+ QVERIFY(rootNode);
+ QVERIFY(rootNode->isValid());
+ QVERIFY(rootNode->isRoot());
+
+ QCOMPARE(rootNode->propertyNames().count(), 1);
+}
+
+QTEST_MAIN(tst_SimpleReader);
+
+#include "tst_qmljssimplereader.moc"
diff --git a/tests/auto/qml/qmlprojectmanager/fileformat/fileformat.pro b/tests/auto/qml/qmlprojectmanager/fileformat/fileformat.pro
index ec195534d9..639e7b7a04 100644
--- a/tests/auto/qml/qmlprojectmanager/fileformat/fileformat.pro
+++ b/tests/auto/qml/qmlprojectmanager/fileformat/fileformat.pro
@@ -6,6 +6,7 @@ QT += script \
PLUGIN_DIR=../../../../../src/plugins/qmlprojectmanager
include($$PLUGIN_DIR/fileformat/fileformat.pri)
+include($$IDE_SOURCE_TREE/src/libs/utils/utils.pri)
INCLUDEPATH += $$PLUGIN_DIR/fileformat