OSDN Git Service

QmlDesigner: Add test case for Rewriter not removing Ids form model
authorKai Koehne <kai.koehne@nokia.com>
Thu, 10 Jun 2010 08:25:16 +0000 (10:25 +0200)
committerKai Koehne <kai.koehne@nokia.com>
Thu, 10 Jun 2010 08:26:32 +0000 (10:26 +0200)
Task-number: BAUHAUS-780

tests/auto/qml/qmldesigner/coretests/testcore.cpp
tests/auto/qml/qmldesigner/coretests/testcore.h

index 89429e2..1b40436 100644 (file)
@@ -5426,6 +5426,39 @@ void TestCore::testRewriterChangeId()
     node.setId("myId");
 }
 
+void TestCore::testRewriterRemoveId()
+{
+    const char* qmlString = "import Qt 4.7\nRectangle { id: rect }";
+
+    QPlainTextEdit textEdit;
+    textEdit.setPlainText(qmlString);
+    NotIndentingTextEditModifier textModifier(&textEdit);
+
+    QScopedPointer<Model> model(Model::create("Qt/Item"));
+    QVERIFY(model.data());
+
+    QScopedPointer<TestView> view(new TestView);
+    QVERIFY(view.data());
+    model->attachView(view.data());
+
+    QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
+    testRewriterView->setTextModifier(&textModifier);
+    model->attachView(testRewriterView.data());
+
+    ModelNode rootModelNode(view->rootModelNode());
+    QVERIFY(rootModelNode.isValid());
+    QCOMPARE(rootModelNode.id(), QString("rect"));
+
+    QSKIP("Fix me!!!! Task BAUHAUS-780", SkipAll);
+    //
+    // remove id in text
+    //
+    const char* qmlString2 = "import Qt 4.7\nRectangle { }";
+    textEdit.setPlainText(qmlString2);
+
+    QCOMPARE(rootModelNode.id(), QString());
+}
+
 void TestCore::testRewriterChangeValueProperty()
 {
     const char* qmlString = "import Qt 4.7\nRectangle { x: 10; y: 10 }";
index f3cbc8e..685a1e6 100644 (file)
@@ -87,6 +87,7 @@ private slots:
     void testRewriterView();
     void testRewriterErrors();
     void testRewriterChangeId();
+    void testRewriterRemoveId();
     void testRewriterChangeValueProperty();
     void testRewriterRemoveValueProperty();
     void testRewriterSignalProperty();