Shared QDeclarativeEngine sidesteps GC slowdown issue.
New approach also verifies that the root object successfully loaded,
this picks up all the cases where it did not successfully load before.
Most of these were because they weren't importing QtQuick 2.0, import
statements have been updated. One was because it does not create a
QQuickItem root, it has been manually excluded. This required adding per
file exclusions to the current directory exclusions.
Change-Id: I809f0f20acc319aef58ba2e30e672e32f640686d
Reviewed-by: Martin Jones <martin.jones@nokia.com>
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
Rectangle {
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: rect
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle { width: 80; height: 50; color: "red" }
//![0]
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
id: container
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: window
// examples/declarative/imageelements/animatedimage
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: animation.width; height: animation.height + 8
**
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
****************************************************************************/
//! [document]
-import QtQuick 1.1
+import QtQuick 2.0
Rectangle {
width: 300; height: 55
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: rect
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: page
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: page
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: page
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Item {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![0]
import "myscript.js" as Script
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Item {
Item {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//! [0]
Rectangle {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//! [0]
Item {
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 100; height: 100
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 160; height: 250
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 310; height: 170
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//! [document]
Column {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![0]
Text {
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 100; height: 100
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
id: container
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
import "componentCreation.js" as MyScript
Rectangle {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: parentItem
function createIt() {
//![0]
-var newObject = Qt.createQmlObject('import QtQuick 1.0; Rectangle {color: "red"; width: 20; height: 20}',
+var newObject = Qt.createQmlObject('import QtQuick 2.0; Rectangle {color: "red"; width: 20; height: 20}',
parentItem, "dynamicSnippet1");
//![0]
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
id: container
**
****************************************************************************/
//![document]
-import QtQuick 1.0
+import QtQuick 2.0
//![parent begin]
Rectangle {
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Flickable {
width: 200; height: 200
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![0]
Rectangle {
****************************************************************************/
//! [0]
-import QtQuick 1.0
+import QtQuick 2.0
Flipable {
id: flipable
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
color: "lightblue"
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//! [clickable in focusscope]
FocusScope {
**
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [mywidget]
Rectangle {
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//! [FocusScope delegate]
Rectangle {
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//! [focus true]
Rectangle {
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//! [clickable window]
Rectangle {
**
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [widget in focusscope]
FocusScope {
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//! [simple key event]
Rectangle {
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//! [window]
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
import Qt.labs.folderlistmodel 1.0
ListView {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![code]
Rectangle {
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 112; height: 112
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 112; height: 112
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 112; height: 112
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 112; height: 112
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Grid {
columns: 3
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
ListModel {
****************************************************************************/
//![import]
-import QtQuick 1.0
+import QtQuick 2.0
//![import]
Rectangle {
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Image {
source: "pics/qtlogo.png"
****************************************************************************/
//! [imports]
-import QtQuick 1.0
+import QtQuick 2.0
import com.nokia.qml.mymodule 1.0
//! [imports]
****************************************************************************/
//! [imports]
-import QtQuick 1.0 as Nokia
+import QtQuick 2.0 as Nokia
import Ovi 1.0 as Nokia
//! [imports]
****************************************************************************/
//! [imports]
-import QtQuick 1.0 as QtLibrary
+import QtQuick 2.0 as QtLibrary
import "../MyComponents" as MyComponents
import com.nokia.qml.mymodule 1.0 as MyModule
//! [imports]
****************************************************************************/
//! [import]
-import QtQuick 1.0
+import QtQuick 2.0
//! [import]
Item {
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
import "script.js" as MyScript
Item {
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
import "script.js" as MyScript
Item {
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Grid {
width: 100; height: 100
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 400; height: 400
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 400; height: 400
**
****************************************************************************/
//![0]
-import QtQuick 1.1
+import QtQuick 2.0
Rectangle {
LayoutMirroring.enabled: true
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 200; height: 200
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 200; height: 200
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 200; height: 200
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
ListModel {
id: fruitModel
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
Rectangle {
**
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
Rectangle {
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
Rectangle {
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
ListModel {
ListElement {
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
ListView {
width: 50; height: 200
****************************************************************************/
//![import]
-import QtQuick 1.0
+import QtQuick 2.0
//![import]
Item {
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
Item {
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: myItem
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 100; height: 100
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 200; height: 200
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 200; height: 200
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 200; height: 200
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 200; height: 200
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//! [rectangle]
Rectangle {
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 200; height: 200
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
Rectangle {
****************************************************************************/
//! [import]
-import QtQuick 1.0
+import QtQuick 2.0
//! [import]
Rectangle {
****************************************************************************/
//! [dragfilter]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 480
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 100; height: 100
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: rect
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 200; height: 100
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 200; height: 100
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
ListModel {
ListElement {
****************************************************************************/
//! [0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 240; height: 200
****************************************************************************/
//! [0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 240; height: 200
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
Rectangle {
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Row {
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Row {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Row {
**
****************************************************************************/
//![import]
-import QtQuick 1.0
+import QtQuick 2.0
//![import]
Column {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 200; height: 250
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 200; height: 250
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 200; height: 250
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 240; height: 320;
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 240; height: 320;
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 240; height: 320;
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
property alias text: textItem.text
****************************************************************************/
//![0]
// MyItem.qml
-import QtQuick 1.0
+import QtQuick 2.0
Text { text: applicationData.getCurrentDateTime() }
//![0]
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![0]
Text {
****************************************************************************/
//![0]
// MyItem.qml
-import QtQuick 1.0
+import QtQuick 2.0
Text { text: currentDateTime }
//![0]
**
****************************************************************************/
import MyLibrary 1.0
-import QtQuick 1.0
+import QtQuick 2.0
Item {
****************************************************************************/
//![0]
// MyItem.qml
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 100; height: 100
****************************************************************************/
//![0]
// MyItem.qml
-import QtQuick 1.0
+import QtQuick 2.0
Item {
function myQmlFunction(msg) {
**
****************************************************************************/
//![start]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 100; height: 100
****************************************************************************/
//![0]
// MyItem.qml
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 100; height: 100
****************************************************************************/
//![0]
// MyItem.qml
-import QtQuick 1.0
+import QtQuick 2.0
Item {
property int someNumber: 100
//![0]
// main.qml
-import QtQuick 1.0
+import QtQuick 2.0
Image { source: "images/background.png" }
//![0]
****************************************************************************/
//![0]
// MyItem.qml
-import QtQuick 1.0
+import QtQuick 2.0
Item {
Connections {
****************************************************************************/
//![0]
// MyItem.qml
-import QtQuick 1.0
+import QtQuick 2.0
Item {
id: item
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![0]
// MyItem.qml
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
QtObject {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![0]
Rectangle {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 100; height: 200
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 100; height: 300
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 100
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 400; height: 400; color: "black"
****************************************************************************/
//! [import]
-import QtQuick 1.0
+import QtQuick 2.0
//! [import]
Row {
****************************************************************************/
//! [document]
//contents of Button.qml
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
Rectangle {
**
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 175; height: 350
**
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
Rectangle {
****************************************************************************/
//! [document]
//contents of focusbutton.qml
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
FocusScope {
**
****************************************************************************/
-import QtQuick 1.1
+import QtQuick 2.0
import "righttoleft"
Column {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 50; height: 50
**
****************************************************************************/
//! [0]
-import QtQuick 1.0
+import QtQuick 2.0
Row {
x: 10; y: 10
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 300; height: 300
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 320; height: 110
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
Row {
spacing: 2
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: rect
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 800; height: 600
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
width: 300; height: 300
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![0]
Rectangle {
id: myRect
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: myRect
**
****************************************************************************/
//![document]
-import QtQuick 1.0
+import QtQuick 2.0
//![parent begin]
Rectangle {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Item {
//! [state and transition]
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
SystemPalette { id: myPalette; colorGroup: SystemPalette.Active }
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 700; height: 400
**
****************************************************************************/
//! [document]
-import QtQuick 1.0
+import QtQuick 2.0
//! [parent begin]
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: rect
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![0]
Rectangle {
** $QT_END_LICENSE$
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![0]
Rectangle {
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: rect
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 150; height: 250
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 200; height: 100
**
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
ListView {
id: view
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 300; height: 300
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
width: 300; height: 200
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
//![1]
Item {
//![0]
//![3]
-import QtQuick 1.0
+import QtQuick 2.0
//![3]
//![1]
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: page
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: page
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
id: block
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: container
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: screen
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Item {
id: block
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: container
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![2]
import "samegame.js" as SameGame
//![2]
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Item {
id: block
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: container
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: container
****************************************************************************/
//![0]
-import QtQuick 1.0
+import QtQuick 2.0
import "samegame.js" as SameGame
Rectangle {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
import Qt.labs.particles 1.0
Item {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
Rectangle {
id: container
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
//![0]
Rectangle {
**
****************************************************************************/
-import QtQuick 1.0
+import QtQuick 2.0
import "content"
import "content/samegame.js" as SameGame
CONFIG += parallel_test
#temporary
-CONFIG += insignificant_test #QTBUG-22672
QT += core-private gui-private declarative-private qtquick1-private widgets-private v8-private testlib
#include <QDir>
#include <QProcess>
#include <QDebug>
+#include <QQuickItem>
#include <QQuickView>
+#include <QDeclarativeComponent>
+#include <QDeclarativeEngine>
#include <QDeclarativeError>
class tst_examples : public QObject
void namingConvention();
private:
QStringList excludedDirs;
+ QStringList excludedFiles;
void namingConvention(const QDir &);
QStringList findQmlFiles(const QDir &);
+
+ QDeclarativeEngine engine;
};
tst_examples::tst_examples()
{
+ // Add files to exclude here
+ excludedFiles << "doc/src/snippets/declarative/listmodel.qml"; //Just a ListModel, no root QQuickItem
+
// Add directories you want excluded here
excludedDirs << "examples/declarative/text/fonts"; // QTBUG-21415
QDir::Files);
foreach (const QString &file, files) {
if (file.at(0).isLower()) {
+ bool superContinue = false;
+ for (int ii = 0; ii < excludedFiles.count(); ++ii) {
+ QString e = excludedFiles.at(ii);
+ if (d.absoluteFilePath(file).endsWith(e)) {
+ superContinue = true;
+ break;
+ }
+ }
+ if (superContinue)
+ continue;
rv << d.absoluteFilePath(file);
}
}
}
+
QStringList dirs = d.entryList(QDir::Dirs | QDir::NoDotAndDotDot |
QDir::NoSymLinks);
foreach (const QString &dir, dirs) {
QTest::addColumn<QString>("file");
QString examples = QLatin1String(SRCDIR) + "/../../../../examples/declarative/";
- QString snippets = QLatin1String(SRCDIR) + "/../../../../doc/src/snippets/";
+ QString snippets = QLatin1String(SRCDIR) + "/../../../../doc/src/snippets/declarative";
QStringList files;
files << findQmlFiles(QDir(examples));
{
QFETCH(QString, file);
- QQuickView view;
-
QtMsgHandler old = qInstallMsgHandler(silentErrorsMsgHandler);
- view.setSource(file);
qInstallMsgHandler(old);
- if (view.status() == QQuickView::Error)
- qWarning() << view.errors();
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(file));
+ if (component.status() == QDeclarativeComponent::Error)
+ qWarning() << component.errors();
+ QCOMPARE(component.status(), QDeclarativeComponent::Ready);
+
+ QScopedPointer<QObject> object(component.beginCreate(engine.rootContext()));
+ QQuickItem *root = qobject_cast<QQuickItem *>(object.data());
+ if (!root)
+ component.completeCreate();
+ QVERIFY(root);
- QCOMPARE(view.status(), QQuickView::Ready);
- view.show();
+ QQuickCanvas canvas;
+ root->setParentItem(canvas.rootItem());
+ component.completeCreate();
+ canvas.show();
- QTest::qWait(100);
+ QTest::qWaitForWindowShown(&canvas);
}