From 30d0eb6325dbd6feaace8a7faaba821c6ce2e9cb Mon Sep 17 00:00:00 2001
From: Fawzi Mohamed <fawzi.mohamed@digia.com>
Date: Thu, 21 Nov 2013 19:42:59 +0100
Subject: [PATCH] qmljs: fixing tests

Change-Id: I8f2eaa64f3cb923753234de76f3491d4daa034fa
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
---
 src/libs/qmljs/qmljs-lib.pri                  |  2 ++
 src/libs/qmljs/qmljsbind.cpp                  | 20 ++++++++++---------
 tests/auto/qml/codemodel/check/check.pro      |  6 +++---
 tests/auto/qml/codemodel/check/tst_check.cpp  |  4 +++-
 .../qmlcodeformatter/qmlcodeformatter.pro     |  6 +++---
 .../fileformat/fileformat.pro                 |  2 +-
 tests/auto/qml/reformatter/reformatter.pro    |  4 ++--
 7 files changed, 25 insertions(+), 19 deletions(-)

diff --git a/src/libs/qmljs/qmljs-lib.pri b/src/libs/qmljs/qmljs-lib.pri
index beb80b8fb8c..6324d83e321 100644
--- a/src/libs/qmljs/qmljs-lib.pri
+++ b/src/libs/qmljs/qmljs-lib.pri
@@ -94,3 +94,5 @@ contains(QT, gui) {
         $$PWD/qmljscodeformatter.h \
         $$PWD/qmljsreformatter.h
 }
+
+QT += xml
diff --git a/src/libs/qmljs/qmljsbind.cpp b/src/libs/qmljs/qmljsbind.cpp
index 65804d72a09..28c5a76c262 100644
--- a/src/libs/qmljs/qmljsbind.cpp
+++ b/src/libs/qmljs/qmljsbind.cpp
@@ -206,15 +206,17 @@ bool Bind::visit(UiImport *ast)
                                                      importId, ast);
         if (_doc->language() == Language::Qml) {
             const QString importStr = import.name() + importId;
-            QmlLanguageBundles langBundles = ModelManagerInterface::instance()->extendedBundles();
-            QmlBundle qq1 = langBundles.bundleForLanguage(Language::QmlQtQuick1);
-            QmlBundle qq2 = langBundles.bundleForLanguage(Language::QmlQtQuick2);
-            bool isQQ1 = qq1.supportedImports().contains(importStr);
-            bool isQQ2 = qq2.supportedImports().contains(importStr);
-            if (isQQ1 && ! isQQ2)
-                _doc->setLanguage(Language::QmlQtQuick1);
-            if (isQQ2 && ! isQQ1)
-                _doc->setLanguage(Language::QmlQtQuick2);
+            if (ModelManagerInterface::instance()) {
+                QmlLanguageBundles langBundles = ModelManagerInterface::instance()->extendedBundles();
+                QmlBundle qq1 = langBundles.bundleForLanguage(Language::QmlQtQuick1);
+                QmlBundle qq2 = langBundles.bundleForLanguage(Language::QmlQtQuick2);
+                bool isQQ1 = qq1.supportedImports().contains(importStr);
+                bool isQQ2 = qq2.supportedImports().contains(importStr);
+                if (isQQ1 && ! isQQ2)
+                    _doc->setLanguage(Language::QmlQtQuick1);
+                if (isQQ2 && ! isQQ1)
+                    _doc->setLanguage(Language::QmlQtQuick2);
+            }
         }
         _imports += import;
     } else if (!ast->fileName.isEmpty()) {
diff --git a/tests/auto/qml/codemodel/check/check.pro b/tests/auto/qml/codemodel/check/check.pro
index 966bb32bf2d..c8028fe0e9e 100644
--- a/tests/auto/qml/codemodel/check/check.pro
+++ b/tests/auto/qml/codemodel/check/check.pro
@@ -3,9 +3,9 @@ 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)
+include($$IDE_SOURCE_TREE/src/libs/utils/utils-lib.pri)
+include($$IDE_SOURCE_TREE/src/libs/languageutils/languageutils-lib.pri)
+include($$IDE_SOURCE_TREE/src/libs/qmljs/qmljs-lib.pri)
 
 TARGET = tst_codemodel_check
 
diff --git a/tests/auto/qml/codemodel/check/tst_check.cpp b/tests/auto/qml/codemodel/check/tst_check.cpp
index f4da84c6524..8c39c747ab9 100644
--- a/tests/auto/qml/codemodel/check/tst_check.cpp
+++ b/tests/auto/qml/codemodel/check/tst_check.cpp
@@ -122,7 +122,9 @@ void tst_Check::test()
     QVERIFY(!doc->source().isEmpty());
     QVERIFY(doc->diagnosticMessages().isEmpty());
 
-    ContextPtr context = Link(snapshot, QStringList(), LibraryInfo())();
+    ViewerContext vContext;
+    vContext.flags = ViewerContext::Complete;
+    ContextPtr context = Link(snapshot, vContext, LibraryInfo())();
 
     Check checker(doc, context);
     QList<Message> messages = checker();
diff --git a/tests/auto/qml/qmleditor/qmlcodeformatter/qmlcodeformatter.pro b/tests/auto/qml/qmleditor/qmlcodeformatter/qmlcodeformatter.pro
index e6a53e813af..7e07bf38af8 100644
--- a/tests/auto/qml/qmleditor/qmlcodeformatter/qmlcodeformatter.pro
+++ b/tests/auto/qml/qmleditor/qmlcodeformatter/qmlcodeformatter.pro
@@ -2,9 +2,9 @@ include(../../../qttest.pri)
 
 SRCDIR = ../../../../../src
 
-include($$SRCDIR/libs/qmljs/qmljs.pri)
-include($$SRCDIR/libs/utils/utils.pri)
-include($$SRCDIR/libs/languageutils/languageutils.pri)
+include($$SRCDIR/libs/qmljs/qmljs-lib.pri)
+include($$SRCDIR/libs/utils/utils-lib.pri)
+include($$SRCDIR/libs/languageutils/languageutils-lib.pri)
 
 SOURCES += \
     tst_qmlcodeformatter.cpp \
diff --git a/tests/auto/qml/qmlprojectmanager/fileformat/fileformat.pro b/tests/auto/qml/qmlprojectmanager/fileformat/fileformat.pro
index 639e7b7a043..7169261f008 100644
--- a/tests/auto/qml/qmlprojectmanager/fileformat/fileformat.pro
+++ b/tests/auto/qml/qmlprojectmanager/fileformat/fileformat.pro
@@ -6,7 +6,7 @@ QT += script \
 PLUGIN_DIR=../../../../../src/plugins/qmlprojectmanager
 
 include($$PLUGIN_DIR/fileformat/fileformat.pri)
-include($$IDE_SOURCE_TREE/src/libs/utils/utils.pri)
+include($$IDE_SOURCE_TREE/src/libs/utils/utils-lib.pri)
 
 INCLUDEPATH += $$PLUGIN_DIR/fileformat
 
diff --git a/tests/auto/qml/reformatter/reformatter.pro b/tests/auto/qml/reformatter/reformatter.pro
index 5a40cbd736e..37b6d2a9a93 100644
--- a/tests/auto/qml/reformatter/reformatter.pro
+++ b/tests/auto/qml/reformatter/reformatter.pro
@@ -3,8 +3,8 @@ 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)
+include($$IDE_SOURCE_TREE/src/libs/utils/utils-lib.pri)
+include($$IDE_SOURCE_TREE/src/libs/qmljs/qmljs-lib.pri)
 
 TARGET = tst_reformatter
 
-- 
GitLab