Merge lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime into lp:ubuntu-ui-toolkit/staging

Proposed by Cris Dywan
Status: Merged
Approved by: Cris Dywan
Approved revision: 2171
Merged at revision: 2180
Proposed branch: lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime
Merge into: lp:ubuntu-ui-toolkit/staging
Diff against target: 166 lines (+44/-21)
5 files modified
src/UbuntuToolkit/ucapplication.cpp (+0/-3)
src/UbuntuToolkit/ucmainwindow.cpp (+9/-7)
src/UbuntuToolkit/ucmainwindow_p.h (+2/-0)
tests/unit/mainwindow/VisualRoot.qml (+0/-1)
tests/unit/mainwindow/tst_mainwindow.cpp (+33/-10)
To merge this branch: bzr merge lp:~ubuntu-sdk-team/ubuntu-ui-toolkit/organizedCrime
Reviewer Review Type Date Requested Status
ubuntu-sdk-build-bot continuous-integration Approve
Tim Peeters Approve
Review via email: mp+316825@code.launchpad.net

Commit message

Initialize UCApplication with no side effects

Description of the change

To post a comment you must log in.
2171. By Cris Dywan

Forgot to save after the last clean-up of the unit test code

Revision history for this message
Tim Peeters (tpeeters) wrote :

lgtm

review: Approve
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
ubuntu-sdk-build-bot (ubuntu-sdk-build-bot) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/UbuntuToolkit/ucapplication.cpp'
2--- src/UbuntuToolkit/ucapplication.cpp 2017-01-12 15:20:31 +0000
3+++ src/UbuntuToolkit/ucapplication.cpp 2017-02-09 11:32:17 +0000
4@@ -39,8 +39,6 @@
5 UCApplication::UCApplication(QObject* parent) : QObject(parent), m_context(0)
6 , m_inputMethod(QGuiApplication::inputMethod())
7 {
8- // Unset organization by default to skip an extra folder component
9- QCoreApplication::setOrganizationName(QStringLiteral(""));
10 // Make sure we receive application name changes from C++ modules
11 connect(QCoreApplication::instance(), &QCoreApplication::applicationNameChanged,
12 this, &UCApplication::applicationNameChanged);
13@@ -70,7 +68,6 @@
14 to how Unity uses it to distinguish running applications.
15 */
16 QCoreApplication::setApplicationName(applicationName);
17- QCoreApplication::setOrganizationName(QCoreApplication::organizationName());
18 /*
19 Ensure that LocalStorage and WebKit use the same location
20 Docs are ambiguous: in practise applicationName is ignored by default
21
22=== modified file 'src/UbuntuToolkit/ucmainwindow.cpp'
23--- src/UbuntuToolkit/ucmainwindow.cpp 2017-01-18 17:23:48 +0000
24+++ src/UbuntuToolkit/ucmainwindow.cpp 2017-02-09 11:32:17 +0000
25@@ -163,11 +163,7 @@
26 return;
27
28 d->m_applicationName = applicationName;
29-
30- if (applicationName != QStringLiteral("")) {
31- UbuntuI18n::instance()->setDomain(applicationName);
32- UCApplication::instance()->setApplicationName(applicationName);
33- }
34+ updateApplication(applicationName, d->m_organizationName);
35 Q_EMIT applicationNameChanged(applicationName);
36 }
37
38@@ -192,11 +188,17 @@
39 return;
40
41 d->m_organizationName = organizationName;
42+ updateApplication(d->m_applicationName, organizationName);
43+ Q_EMIT organizationNameChanged(organizationName);
44+}
45
46- if (organizationName != QStringLiteral("")) {
47+void UCMainWindow::updateApplication(QString applicationName, QString organizationName)
48+{
49+ if (applicationName != QStringLiteral("")) {
50+ UbuntuI18n::instance()->setDomain(applicationName);
51 QCoreApplication::setOrganizationName(organizationName);
52+ UCApplication::instance()->setApplicationName(applicationName);
53 }
54- Q_EMIT organizationNameChanged(organizationName);
55 }
56
57 /*!
58
59=== modified file 'src/UbuntuToolkit/ucmainwindow_p.h'
60--- src/UbuntuToolkit/ucmainwindow_p.h 2017-01-16 16:52:57 +0000
61+++ src/UbuntuToolkit/ucmainwindow_p.h 2017-02-09 11:32:17 +0000
62@@ -76,6 +76,8 @@
63 #endif
64
65 private:
66+ void updateApplication(QString applicationName, QString organizationName);
67+
68 Q_DECLARE_PRIVATE(UCMainWindow)
69 };
70
71
72=== modified file 'tests/unit/mainwindow/VisualRoot.qml'
73--- tests/unit/mainwindow/VisualRoot.qml 2017-01-16 14:18:21 +0000
74+++ tests/unit/mainwindow/VisualRoot.qml 2017-02-09 11:32:17 +0000
75@@ -20,7 +20,6 @@
76
77 MainWindow {
78 objectName: "visualRoot"
79- applicationName: "org.gnu.wildebeest"
80 visualRoot: myRoot
81
82 Rectangle {
83
84=== modified file 'tests/unit/mainwindow/tst_mainwindow.cpp'
85--- tests/unit/mainwindow/tst_mainwindow.cpp 2017-01-16 17:44:23 +0000
86+++ tests/unit/mainwindow/tst_mainwindow.cpp 2017-02-09 11:32:17 +0000
87@@ -33,10 +33,7 @@
88 #include <QtCore/QCryptographicHash>
89 #include <QtCore/QSettings>
90
91-#include <QtQuick/QQuickItem>
92-#include <QtQuick/QQuickView>
93 #include <QtGui/QGuiApplication>
94-#include <QtQml/QQmlEngine>
95 #include <QtQml/QQmlContext>
96 #include <QtQml/QQmlComponent>
97
98@@ -103,18 +100,22 @@
99
100 private Q_SLOTS:
101
102- void initTestCase()
103- {
104- }
105-
106- void cleanupTestCase()
107- {
108+ void cleanup()
109+ {
110+ // Delete engine, and thereby also the UCApplication instance
111+ QObject* engine(UCApplication::instance()->parent());
112+ delete engine;
113+ QCoreApplication::setApplicationName(QStringLiteral(""));
114+ QCoreApplication::setOrganizationName(QStringLiteral(""));
115 }
116
117 // Note: tests/unit/mainview13 contains the UCApplication bits
118
119 void testCase_AppName()
120 {
121+ // Sanity check: no name set yet
122+ QCOMPARE(QStringLiteral("mainwindow"), QCoreApplication::applicationName());
123+
124 QString applicationName("org.gnu.wildebeest");
125 QQuickWindow *mainWindow(loadTest("AppName.qml"));
126 QVERIFY(mainWindow);
127@@ -125,6 +126,9 @@
128
129 void testCase_OrganizationName()
130 {
131+ // Sanity check: no organization set yet
132+ QCOMPARE(QStringLiteral(""), QCoreApplication::organizationName());
133+
134 QString applicationName("tv.island.pacific");
135 QString organizationName("pacifist");
136 QQuickWindow *mainWindow(loadTest("OrganizationName.qml"));
137@@ -135,9 +139,28 @@
138 QCOMPARE(organizationName, QCoreApplication::organizationName());
139 }
140
141+ void testCase_NoOrganizationName()
142+ {
143+ // Sanity check: no organization set yet
144+ QCOMPARE(QStringLiteral(""), QCoreApplication::organizationName());
145+
146+ // Custom values set outside of QML
147+ QString applicationName("com.example.random");
148+ QString organizationName(QStringLiteral("Example"));
149+ QCoreApplication::setApplicationName(applicationName);
150+ QCoreApplication::setOrganizationName(organizationName);
151+
152+ QQuickWindow *mainWindow(loadTest("VisualRoot.qml"));
153+ QVERIFY(mainWindow);
154+ // MainView shouldn't interfere as applicationName wasn't set in QML
155+ QCOMPARE(QStringLiteral(""), mainWindow->property("applicationName").toString());
156+ QCOMPARE(applicationName, QCoreApplication::applicationName());
157+ QCOMPARE(QStringLiteral(""), mainWindow->property("organizationName").toString());
158+ QCOMPARE(organizationName, QCoreApplication::organizationName());
159+ }
160+
161 void testCase_VisualRoot()
162 {
163- QString applicationName("tv.island.pacific");
164 QQuickWindow *mainWindow(loadTest("VisualRoot.qml"));
165 QVERIFY(mainWindow);
166 QQuickItem* myLabel(testItem(mainWindow, "myLabel"));

Subscribers

People subscribed via source and target branches