[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdelibs/kdeui/tests
From:       David Faure <faure () kde ! org>
Date:       2010-09-30 23:33:05
Message-ID: 20100930233305.0F12DAC891 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1181420 by dfaure:

Unittest which showed that 252911 was not really a bug, more like a bad rc file.
CCBUG: 252911


 M  +48 -0     kxmlgui_unittest.cpp  
 M  +1 -0      kxmlgui_unittest.h  


--- trunk/KDE/kdelibs/kdeui/tests/kxmlgui_unittest.cpp #1181419:1181420
@@ -409,6 +409,54 @@
                  << "other_file_action");
 }
 
+void KXmlGui_UnitTest::testPartMergingSettings() // #252911
+{
+    const QByteArray hostXml =
+        "<?xml version = '1.0'?>\n"
+        "<!DOCTYPE gui SYSTEM \"kpartgui.dtd\">\n"
+        "<gui version=\"1\" name=\"foo\" >\n"
+        "<MenuBar>\n"
+// The solution was to remove the duplicated definition
+//        " <Menu name=\"settings\"><text>&amp;Settings</text>\n"
+//        "    <Action name=\"options_configure_keybinding\"/>\n"
+//        "    <Action name=\"options_configure_toolbars\"/>\n"
+//        "    <Merge name=\"configure_merge\"/>\n"
+//        "    <Separator/>\n"
+//        "    <Merge/>\n"
+//        " </Menu>\n"
+        "</MenuBar></gui>\n";
+    TestGuiClient hostClient;
+    hostClient.createActions(QStringList() << "options_configure_keybinding" << \
"options_configure_toolbars"); +    hostClient.createGUI(hostXml, true \
/*ui_standards.rc*/); +    //kDebug() << hostClient.domDocument().toString();
+    QMainWindow mainWindow;
+    KXMLGUIBuilder builder(&mainWindow);
+    KXMLGUIFactory factory(&builder);
+    factory.addClient(&hostClient);
+    QWidget* settingsMenu = qobject_cast<QMenu *>(factory.container("settings", \
&hostClient)); +    QVERIFY(settingsMenu);
+    //debugActions(settingsMenu->actions());
+
+    const QByteArray partXml =
+        "<?xml version = '1.0'?>\n"
+        "<!DOCTYPE gui SYSTEM \"kpartgui.dtd\">\n"
+        "<gui version=\"1\" name=\"foo\" >\n"
+        "<MenuBar>\n"
+        " <Menu name=\"settings\"><text>&amp;Settings</text>\n"
+        "    <Action name=\"configure_klinkstatus\"/>\n"
+        " </Menu>\n"
+        "</MenuBar></gui>\n";
+    TestGuiClient partClient(partXml);
+    partClient.createActions(QStringList() << "configure_klinkstatus");
+    factory.addClient(&partClient);
+    //debugActions(settingsMenu->actions());
+    checkActions(settingsMenu->actions(), QStringList()
+                 << "separator" // that's ok, QMenuPrivate::filterActions won't show \
it +                 << "options_configure_keybinding"
+                 << "options_configure_toolbars"
+                 << "configure_klinkstatus");
+}
+
 void KXmlGui_UnitTest::testUiStandardsMerging_data()
 {
     QTest::addColumn<QByteArray>("xml");
--- trunk/KDE/kdelibs/kdeui/tests/kxmlgui_unittest.h #1181419:1181420
@@ -33,6 +33,7 @@
     void testVersionHandlerNewVersionNothingKept();
     void testVersionHandlerNewVersionUserChanges();
     void testPartMerging();
+    void testPartMergingSettings();
     void testUiStandardsMerging_data();
     void testUiStandardsMerging();
     void testActionListAndSeparator();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic