Merge lp:~thomas-moenicke/phablet-extras/maliit-plugins-dynamic-unittests into lp:phablet-extras/maliit-plugins
- maliit-plugins-dynamic-unittests
- Merge into maliit-plugins
Status: | Merged |
---|---|
Approved by: | Thomas Moenicke |
Approved revision: | 2145 |
Merged at revision: | 2139 |
Proposed branch: | lp:~thomas-moenicke/phablet-extras/maliit-plugins-dynamic-unittests |
Merge into: | lp:phablet-extras/maliit-plugins |
Diff against target: |
700 lines (+480/-24) 13 files modified
debian/changelog (+7/-1) maliit-keyboard/data/languages/email.xml (+3/-3) maliit-keyboard/lib/logic/dynamiclayout.cpp (+31/-3) maliit-keyboard/lib/logic/dynamiclayout.h (+12/-1) maliit-keyboard/lib/logic/dynamiclayout_p.h (+20/-16) maliit-keyboard/tests/common/common.pro (+2/-0) maliit-keyboard/tests/common/mockscreen.cpp (+64/-0) maliit-keyboard/tests/common/mockscreen.h (+57/-0) maliit-keyboard/tests/dynamic-layout/dynamic-layout.pro (+17/-0) maliit-keyboard/tests/dynamic-layout/test-ui-constants.qml (+79/-0) maliit-keyboard/tests/dynamic-layout/test.cpp (+186/-0) maliit-keyboard/tests/tests.pro (+1/-0) unittests.sh (+1/-0) |
To merge this branch: | bzr merge lp:~thomas-moenicke/phablet-extras/maliit-plugins-dynamic-unittests |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot | continuous-integration | Approve | |
Günter Schwann (community) | Approve | ||
Review via email: mp+179227@code.launchpad.net |
Commit message
dynamiclayout unittests
Description of the change
dynamiclayout unittests
PS Jenkins bot (ps-jenkins) wrote : | # |
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2142
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Günter Schwann (schwann) wrote : | # |
Missing copyright header for
maliit-
maliit-
maliit-
Günter Schwann (schwann) wrote : | # |
616 + qDebug() << area.keys(
Why printing all the debugging, after the test?
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2143
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2144
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Autolanding.
Unapproved changes made after approval.
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
PS Jenkins bot (ps-jenkins) wrote : | # |
PASSED: Continuous integration, rev:2145
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Preview Diff
1 | === modified file 'debian/changelog' | |||
2 | --- debian/changelog 2013-08-08 14:28:33 +0000 | |||
3 | +++ debian/changelog 2013-08-09 11:00:42 +0000 | |||
4 | @@ -1,4 +1,10 @@ | |||
6 | 1 | maliit-plugins (0.99.trunk.phablet4) saycu; urgency=low | 1 | maliit-plugins (0.99.trunk.phablet5) saucy; urgency=low |
7 | 2 | |||
8 | 3 | * improved email layout | ||
9 | 4 | |||
10 | 5 | -- Thomas Moenicke <thomas@pachamama> Fri, 09 Aug 2013 12:59:46 +0200 | ||
11 | 6 | |||
12 | 7 | maliit-plugins (0.99.trunk.phablet4) saucy; urgency=low | ||
13 | 2 | 8 | ||
14 | 3 | * url, phonenumber and number layouts | 9 | * url, phonenumber and number layouts |
15 | 4 | 10 | ||
16 | 5 | 11 | ||
17 | === modified file 'maliit-keyboard/data/languages/email.xml' | |||
18 | --- maliit-keyboard/data/languages/email.xml 2013-08-07 20:38:19 +0000 | |||
19 | +++ maliit-keyboard/data/languages/email.xml 2013-08-09 11:00:42 +0000 | |||
20 | @@ -464,10 +464,10 @@ | |||
21 | 464 | <binding action="sym" label="?123" /> | 464 | <binding action="sym" label="?123" /> |
22 | 465 | </key> | 465 | </key> |
23 | 466 | <spacer /> | 466 | <spacer /> |
26 | 467 | <key id="urlKey"> | 467 | <key id="emailKey"> |
27 | 468 | <binding label=".com" /> | 468 | <binding label="@" /> |
28 | 469 | </key> | 469 | </key> |
30 | 470 | <key width="large"> | 470 | <key width="x-large"> |
31 | 471 | <binding action="space" /> | 471 | <binding action="space" /> |
32 | 472 | </key> | 472 | </key> |
33 | 473 | <key id="urlKey" width="large"> | 473 | <key id="urlKey" width="large"> |
34 | 474 | 474 | ||
35 | === modified file 'maliit-keyboard/lib/logic/dynamiclayout.cpp' | |||
36 | --- maliit-keyboard/lib/logic/dynamiclayout.cpp 2013-08-08 10:45:11 +0000 | |||
37 | +++ maliit-keyboard/lib/logic/dynamiclayout.cpp 2013-08-09 11:00:42 +0000 | |||
38 | @@ -84,13 +84,23 @@ | |||
39 | 84 | 84 | ||
40 | 85 | DynamicLayout::DynamicLayout(QObject* parent) : QObject(parent), | 85 | DynamicLayout::DynamicLayout(QObject* parent) : QObject(parent), |
41 | 86 | d(new DynamicLayoutPrivate(this)) | 86 | d(new DynamicLayoutPrivate(this)) |
43 | 87 | {} | 87 | { |
44 | 88 | const QScreen* screen = qGuiApp->primaryScreen(); | ||
45 | 89 | connect( screen, SIGNAL(primaryOrientationChanged(Qt::ScreenOrientation)), this, SLOT(onPrimaryOrientationChanged(Qt::ScreenOrientation)) ); | ||
46 | 90 | connect( screen, SIGNAL(orientationChanged(Qt::ScreenOrientation)), this, SLOT(onPrimaryOrientationChanged(Qt::ScreenOrientation)) ); | ||
47 | 91 | connect( screen, SIGNAL(geometryChanged(QRect)), this, SLOT(onGeometryChanged(QRect)) ); | ||
48 | 92 | |||
49 | 93 | d->primaryOrientation = screen->primaryOrientation(); | ||
50 | 94 | d->orientation = screen->orientation(); | ||
51 | 95 | d->geometry = screen->geometry(); | ||
52 | 96 | } | ||
53 | 97 | |||
54 | 88 | 98 | ||
55 | 89 | DynamicLayout* DynamicLayout::self = 0; | 99 | DynamicLayout* DynamicLayout::self = 0; |
56 | 90 | 100 | ||
58 | 91 | void DynamicLayout::initDynamicLayout() | 101 | void DynamicLayout::initDynamicLayout(QString fileName) |
59 | 92 | { | 102 | { |
61 | 93 | d->initDynamicLayout(); | 103 | d->initDynamicLayout(fileName); |
62 | 94 | } | 104 | } |
63 | 95 | 105 | ||
64 | 96 | int DynamicLayout::windowWidth(LayoutHelper::Orientation orientation) | 106 | int DynamicLayout::windowWidth(LayoutHelper::Orientation orientation) |
65 | @@ -306,4 +316,22 @@ | |||
66 | 306 | } | 316 | } |
67 | 307 | } | 317 | } |
68 | 308 | 318 | ||
69 | 319 | void DynamicLayout::onPrimaryOrientationChanged(Qt::ScreenOrientation orientation) | ||
70 | 320 | { | ||
71 | 321 | d->primaryOrientation = orientation; | ||
72 | 322 | } | ||
73 | 323 | |||
74 | 324 | void DynamicLayout::onOrientationChanged(Qt::ScreenOrientation orientation) | ||
75 | 325 | { | ||
76 | 326 | d->orientation = orientation; | ||
77 | 327 | } | ||
78 | 328 | |||
79 | 329 | void DynamicLayout::onGeometryChanged(const QRect & geometry) | ||
80 | 330 | { | ||
81 | 331 | d->geometry = geometry; | ||
82 | 332 | d->invalidateWindowGeometryCache(); | ||
83 | 333 | } | ||
84 | 334 | |||
85 | 335 | |||
86 | 336 | |||
87 | 309 | }} // namespaces | 337 | }} // namespaces |
88 | 310 | 338 | ||
89 | === modified file 'maliit-keyboard/lib/logic/dynamiclayout.h' | |||
90 | --- maliit-keyboard/lib/logic/dynamiclayout.h 2013-07-30 16:16:14 +0000 | |||
91 | +++ maliit-keyboard/lib/logic/dynamiclayout.h 2013-08-09 11:00:42 +0000 | |||
92 | @@ -48,7 +48,13 @@ | |||
93 | 48 | return self; | 48 | return self; |
94 | 49 | } | 49 | } |
95 | 50 | 50 | ||
97 | 51 | void initDynamicLayout(); | 51 | static void reset() |
98 | 52 | { | ||
99 | 53 | if (self) | ||
100 | 54 | self = new DynamicLayout; | ||
101 | 55 | } | ||
102 | 56 | |||
103 | 57 | void initDynamicLayout(QString fileName = MALIIT_KEYBOARD_DATA_DIR "/maliit-ui-constants.qml"); | ||
104 | 52 | 58 | ||
105 | 53 | int keypadHeight(LayoutHelper::Orientation orientation); | 59 | int keypadHeight(LayoutHelper::Orientation orientation); |
106 | 54 | int windowWidth(LayoutHelper::Orientation orientation); | 60 | int windowWidth(LayoutHelper::Orientation orientation); |
107 | @@ -84,6 +90,11 @@ | |||
108 | 84 | 90 | ||
109 | 85 | Q_SLOT void onWordEngineSettingsChanged(bool wordEngineEnabled); | 91 | Q_SLOT void onWordEngineSettingsChanged(bool wordEngineEnabled); |
110 | 86 | 92 | ||
111 | 93 | /* interface to primaryScreen */ | ||
112 | 94 | Q_SLOT void onPrimaryOrientationChanged(Qt::ScreenOrientation orientation); | ||
113 | 95 | Q_SLOT void onOrientationChanged(Qt::ScreenOrientation orientation); | ||
114 | 96 | Q_SLOT void onGeometryChanged(const QRect & geometry); | ||
115 | 97 | |||
116 | 87 | private: | 98 | private: |
117 | 88 | explicit DynamicLayout(QObject *parent = 0); | 99 | explicit DynamicLayout(QObject *parent = 0); |
118 | 89 | DynamicLayout(DynamicLayout const&) : QObject(0) {} | 100 | DynamicLayout(DynamicLayout const&) : QObject(0) {} |
119 | 90 | 101 | ||
120 | === modified file 'maliit-keyboard/lib/logic/dynamiclayout_p.h' | |||
121 | --- maliit-keyboard/lib/logic/dynamiclayout_p.h 2013-07-30 16:16:14 +0000 | |||
122 | +++ maliit-keyboard/lib/logic/dynamiclayout_p.h 2013-08-09 11:00:42 +0000 | |||
123 | @@ -59,7 +59,7 @@ | |||
124 | 59 | 59 | ||
125 | 60 | DynamicLayoutStorage* storage(LayoutHelper::Orientation orientation) | 60 | DynamicLayoutStorage* storage(LayoutHelper::Orientation orientation) |
126 | 61 | { | 61 | { |
128 | 62 | initDynamicLayout(); | 62 | q->initDynamicLayout(); |
129 | 63 | 63 | ||
130 | 64 | if (orientation == LayoutHelper::Landscape) | 64 | if (orientation == LayoutHelper::Landscape) |
131 | 65 | return landscapeStorage; | 65 | return landscapeStorage; |
132 | @@ -112,6 +112,10 @@ | |||
133 | 112 | DynamicLayoutStorage* landscapeStorage; | 112 | DynamicLayoutStorage* landscapeStorage; |
134 | 113 | DynamicLayoutStorage* genericStorage; | 113 | DynamicLayoutStorage* genericStorage; |
135 | 114 | 114 | ||
136 | 115 | Qt::ScreenOrientation primaryOrientation; | ||
137 | 116 | Qt::ScreenOrientation orientation; | ||
138 | 117 | QRect geometry; | ||
139 | 118 | |||
140 | 115 | DynamicLayoutPrivate(DynamicLayout* _q) : | 119 | DynamicLayoutPrivate(DynamicLayout* _q) : |
141 | 116 | q(_q), | 120 | q(_q), |
142 | 117 | initialized(false), | 121 | initialized(false), |
143 | @@ -132,34 +136,34 @@ | |||
144 | 132 | } | 136 | } |
145 | 133 | 137 | ||
146 | 134 | // ToDo this needs to be refactored | 138 | // ToDo this needs to be refactored |
148 | 135 | void initDynamicLayout() | 139 | void initDynamicLayout(QString fileName) |
149 | 136 | { | 140 | { |
150 | 137 | q->instance(); | 141 | q->instance(); |
151 | 138 | 142 | ||
152 | 139 | if (!initialized) { | 143 | if (!initialized) { |
153 | 140 | QQuickView quickView; | 144 | QQuickView quickView; |
155 | 141 | quickView.setSource(QUrl::fromLocalFile(MALIIT_KEYBOARD_DATA_DIR "/maliit-ui-constants.qml")); | 145 | quickView.setSource(QUrl::fromLocalFile( fileName )); |
156 | 142 | QQuickItem* quickItem = quickView.rootObject(); | 146 | QQuickItem* quickItem = quickView.rootObject(); |
157 | 143 | 147 | ||
158 | 144 | const QRect rLandscape = qGuiApp->primaryScreen()->mapBetween( | 148 | const QRect rLandscape = qGuiApp->primaryScreen()->mapBetween( |
160 | 145 | qGuiApp->primaryScreen()->primaryOrientation(), | 149 | primaryOrientation, |
161 | 146 | Qt::LandscapeOrientation, | 150 | Qt::LandscapeOrientation, |
163 | 147 | QGuiApplication::primaryScreen()->geometry()); | 151 | geometry); |
164 | 148 | 152 | ||
165 | 149 | const QRect rInvertedLandscape = qGuiApp->primaryScreen()->mapBetween( | 153 | const QRect rInvertedLandscape = qGuiApp->primaryScreen()->mapBetween( |
167 | 150 | qGuiApp->primaryScreen()->primaryOrientation(), | 154 | primaryOrientation, |
168 | 151 | Qt::InvertedLandscapeOrientation, | 155 | Qt::InvertedLandscapeOrientation, |
170 | 152 | QGuiApplication::primaryScreen()->geometry()); | 156 | geometry); |
171 | 153 | 157 | ||
172 | 154 | const QRect rPortrait = qGuiApp->primaryScreen()->mapBetween( | 158 | const QRect rPortrait = qGuiApp->primaryScreen()->mapBetween( |
174 | 155 | qGuiApp->primaryScreen()->primaryOrientation(), | 159 | primaryOrientation, |
175 | 156 | Qt::PortraitOrientation, | 160 | Qt::PortraitOrientation, |
177 | 157 | QGuiApplication::primaryScreen()->geometry()); | 161 | geometry); |
178 | 158 | 162 | ||
179 | 159 | const QRect rInvertedPortrait = qGuiApp->primaryScreen()->mapBetween( | 163 | const QRect rInvertedPortrait = qGuiApp->primaryScreen()->mapBetween( |
181 | 160 | qGuiApp->primaryScreen()->primaryOrientation(), | 164 | primaryOrientation, |
182 | 161 | Qt::InvertedPortraitOrientation, | 165 | Qt::InvertedPortraitOrientation, |
184 | 162 | QGuiApplication::primaryScreen()->geometry()); | 166 | geometry); |
185 | 163 | 167 | ||
186 | 164 | 168 | ||
187 | 165 | // generic | 169 | // generic |
188 | @@ -179,7 +183,7 @@ | |||
189 | 179 | // portrait | 183 | // portrait |
190 | 180 | 184 | ||
191 | 181 | qreal portraitHeightRatio = quickItem->property("phone_keyboard_height_portrait").toReal(); | 185 | qreal portraitHeightRatio = quickItem->property("phone_keyboard_height_portrait").toReal(); |
193 | 182 | if (qGuiApp->primaryScreen()->primaryOrientation() == Qt::LandscapeOrientation) | 186 | if (primaryOrientation == Qt::LandscapeOrientation) |
194 | 183 | portraitHeightRatio = quickItem->property("tablet_keyboard_height_portrait").toReal(); | 187 | portraitHeightRatio = quickItem->property("tablet_keyboard_height_portrait").toReal(); |
195 | 184 | 188 | ||
196 | 185 | portraitStorage->invisibleTouchAreaHeight = quickItem->property("portrait_invisible_touch_area").toInt(); | 189 | portraitStorage->invisibleTouchAreaHeight = quickItem->property("portrait_invisible_touch_area").toInt(); |
197 | @@ -194,7 +198,7 @@ | |||
198 | 194 | 198 | ||
199 | 195 | // point of origin differs when primary orientation is different | 199 | // point of origin differs when primary orientation is different |
200 | 196 | int yp = 0; | 200 | int yp = 0; |
202 | 197 | if(qGuiApp->primaryScreen()->primaryOrientation() == Qt::PortraitOrientation) | 201 | if(primaryOrientation == Qt::PortraitOrientation) |
203 | 198 | yp = rPortrait.height() - (portraitStorage->keypadHeight | 202 | yp = rPortrait.height() - (portraitStorage->keypadHeight |
204 | 199 | + portraitStorage->wordRibbonHeight | 203 | + portraitStorage->wordRibbonHeight |
205 | 200 | + portraitStorage->invisibleTouchAreaHeight); | 204 | + portraitStorage->invisibleTouchAreaHeight); |
206 | @@ -209,7 +213,7 @@ | |||
207 | 209 | 213 | ||
208 | 210 | // point of origin differs when primary orientation is different | 214 | // point of origin differs when primary orientation is different |
209 | 211 | int ypi = 0; | 215 | int ypi = 0; |
211 | 212 | if(qGuiApp->primaryScreen()->primaryOrientation() == Qt::LandscapeOrientation) | 216 | if(primaryOrientation == Qt::LandscapeOrientation) |
212 | 213 | ypi = rInvertedPortrait.height() - (portraitStorage->keypadHeight | 217 | ypi = rInvertedPortrait.height() - (portraitStorage->keypadHeight |
213 | 214 | + portraitStorage->wordRibbonHeight | 218 | + portraitStorage->wordRibbonHeight |
214 | 215 | + portraitStorage->invisibleTouchAreaHeight); | 219 | + portraitStorage->invisibleTouchAreaHeight); |
215 | @@ -228,7 +232,7 @@ | |||
216 | 228 | // landscape | 232 | // landscape |
217 | 229 | 233 | ||
218 | 230 | qreal landscapeHeightRatio = quickItem->property("phone_keyboard_height_landscape").toReal(); | 234 | qreal landscapeHeightRatio = quickItem->property("phone_keyboard_height_landscape").toReal(); |
220 | 231 | if (qGuiApp->primaryScreen()->primaryOrientation() == Qt::LandscapeOrientation) | 235 | if (primaryOrientation == Qt::LandscapeOrientation) |
221 | 232 | landscapeHeightRatio = quickItem->property("tablet_keyboard_height_landscape").toReal(); | 236 | landscapeHeightRatio = quickItem->property("tablet_keyboard_height_landscape").toReal(); |
222 | 233 | 237 | ||
223 | 234 | landscapeStorage->invisibleTouchAreaHeight = quickItem->property("landscape_invisible_touch_area").toInt(); | 238 | landscapeStorage->invisibleTouchAreaHeight = quickItem->property("landscape_invisible_touch_area").toInt(); |
224 | @@ -273,7 +277,7 @@ | |||
225 | 273 | genericStorage->keyWidthLarge = quickItem->property("key_width_large").toReal(); | 277 | genericStorage->keyWidthLarge = quickItem->property("key_width_large").toReal(); |
226 | 274 | genericStorage->keyWidthXLarge = quickItem->property("key_width_xlarge").toReal(); | 278 | genericStorage->keyWidthXLarge = quickItem->property("key_width_xlarge").toReal(); |
227 | 275 | genericStorage->keyWidthXXLarge = quickItem->property("key_width_xxlarge").toReal(); | 279 | genericStorage->keyWidthXXLarge = quickItem->property("key_width_xxlarge").toReal(); |
229 | 276 | 280 | genericStorage->keyWidthStretched = quickItem->property("key_width_stretched").toReal(); | |
230 | 277 | 281 | ||
231 | 278 | landscapeStorage->spaceBetweenRows = quickItem->property("landscape_space_between_rows").toReal(); | 282 | landscapeStorage->spaceBetweenRows = quickItem->property("landscape_space_between_rows").toReal(); |
232 | 279 | landscapeStorage->spaceBetweenKeys = quickItem->property("landscape_space_between_keys").toReal(); | 283 | landscapeStorage->spaceBetweenKeys = quickItem->property("landscape_space_between_keys").toReal(); |
233 | 280 | 284 | ||
234 | === modified file 'maliit-keyboard/tests/common/common.pro' | |||
235 | --- maliit-keyboard/tests/common/common.pro 2013-08-06 19:58:25 +0000 | |||
236 | +++ maliit-keyboard/tests/common/common.pro 2013-08-09 11:00:42 +0000 | |||
237 | @@ -9,11 +9,13 @@ | |||
238 | 9 | utils-gui.cpp \ | 9 | utils-gui.cpp \ |
239 | 10 | inputmethodhostprobe.cpp \ | 10 | inputmethodhostprobe.cpp \ |
240 | 11 | wordengineprobe.cpp \ | 11 | wordengineprobe.cpp \ |
241 | 12 | mockscreen.cpp \ | ||
242 | 12 | 13 | ||
243 | 13 | HEADERS += \ | 14 | HEADERS += \ |
244 | 14 | utils.h \ | 15 | utils.h \ |
245 | 15 | inputmethodhostprobe.h \ | 16 | inputmethodhostprobe.h \ |
246 | 16 | wordengineprobe.h \ | 17 | wordengineprobe.h \ |
247 | 18 | mockscreen.h \ | ||
248 | 17 | 19 | ||
249 | 18 | contains(QT_MAJOR_VERSION, 4) { | 20 | contains(QT_MAJOR_VERSION, 4) { |
250 | 19 | QT = core gui | 21 | QT = core gui |
251 | 20 | 22 | ||
252 | === added file 'maliit-keyboard/tests/common/mockscreen.cpp' | |||
253 | --- maliit-keyboard/tests/common/mockscreen.cpp 1970-01-01 00:00:00 +0000 | |||
254 | +++ maliit-keyboard/tests/common/mockscreen.cpp 2013-08-09 11:00:42 +0000 | |||
255 | @@ -0,0 +1,64 @@ | |||
256 | 1 | /* | ||
257 | 2 | * Copyright 2013 Canonical Ltd. | ||
258 | 3 | * | ||
259 | 4 | * This program is free software; you can redistribute it and/or modify | ||
260 | 5 | * it under the terms of the GNU Lesser General Public License as published by | ||
261 | 6 | * the Free Software Foundation; version 3. | ||
262 | 7 | * | ||
263 | 8 | * This program is distributed in the hope that it will be useful, | ||
264 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
265 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
266 | 11 | * GNU Lesser General Public License for more details. | ||
267 | 12 | * | ||
268 | 13 | * You should have received a copy of the GNU Lesser General Public License | ||
269 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
270 | 15 | */ | ||
271 | 16 | |||
272 | 17 | #include "mockscreen.h" | ||
273 | 18 | |||
274 | 19 | MockScreen::MockScreen(QObject* parent) | ||
275 | 20 | : QObject(parent) | ||
276 | 21 | , m_orientation(Qt::PortraitOrientation) | ||
277 | 22 | , m_primaryOrientation(Qt::PortraitOrientation) | ||
278 | 23 | , m_geometry(QRect(0,0,0,0)) | ||
279 | 24 | { | ||
280 | 25 | } | ||
281 | 26 | |||
282 | 27 | Qt::ScreenOrientation MockScreen::orientation() const | ||
283 | 28 | { | ||
284 | 29 | return m_orientation; | ||
285 | 30 | } | ||
286 | 31 | |||
287 | 32 | void MockScreen::setOrientation(Qt::ScreenOrientation orientation) | ||
288 | 33 | { | ||
289 | 34 | m_orientation = orientation; | ||
290 | 35 | Q_EMIT orientationChanged(orientation); | ||
291 | 36 | } | ||
292 | 37 | |||
293 | 38 | Qt::ScreenOrientation MockScreen::primaryOrientation() const | ||
294 | 39 | { | ||
295 | 40 | return m_primaryOrientation; | ||
296 | 41 | } | ||
297 | 42 | |||
298 | 43 | void MockScreen::setPrimaryOrientation(Qt::ScreenOrientation orientation) | ||
299 | 44 | { | ||
300 | 45 | m_primaryOrientation = orientation; | ||
301 | 46 | Q_EMIT primaryOrientationChanged(orientation); | ||
302 | 47 | } | ||
303 | 48 | |||
304 | 49 | QRect MockScreen::geometry() const | ||
305 | 50 | { | ||
306 | 51 | return m_geometry; | ||
307 | 52 | } | ||
308 | 53 | |||
309 | 54 | void MockScreen::setGeometry(const QRect& geometry) | ||
310 | 55 | { | ||
311 | 56 | m_geometry = geometry; | ||
312 | 57 | Q_EMIT geometryChanged(geometry); | ||
313 | 58 | } | ||
314 | 59 | |||
315 | 60 | |||
316 | 61 | |||
317 | 62 | |||
318 | 63 | |||
319 | 64 | |||
320 | 0 | 65 | ||
321 | === added file 'maliit-keyboard/tests/common/mockscreen.h' | |||
322 | --- maliit-keyboard/tests/common/mockscreen.h 1970-01-01 00:00:00 +0000 | |||
323 | +++ maliit-keyboard/tests/common/mockscreen.h 2013-08-09 11:00:42 +0000 | |||
324 | @@ -0,0 +1,57 @@ | |||
325 | 1 | /* | ||
326 | 2 | * Copyright 2013 Canonical Ltd. | ||
327 | 3 | * | ||
328 | 4 | * This program is free software; you can redistribute it and/or modify | ||
329 | 5 | * it under the terms of the GNU Lesser General Public License as published by | ||
330 | 6 | * the Free Software Foundation; version 3. | ||
331 | 7 | * | ||
332 | 8 | * This program is distributed in the hope that it will be useful, | ||
333 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
334 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
335 | 11 | * GNU Lesser General Public License for more details. | ||
336 | 12 | * | ||
337 | 13 | * You should have received a copy of the GNU Lesser General Public License | ||
338 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
339 | 15 | */ | ||
340 | 16 | |||
341 | 17 | #ifndef MOCKSCREEN_H | ||
342 | 18 | #define MOCKSCREEN_H | ||
343 | 19 | |||
344 | 20 | #include <QScreen> | ||
345 | 21 | |||
346 | 22 | |||
347 | 23 | /** | ||
348 | 24 | * @brief The MockScreen class | ||
349 | 25 | * this is not a real QScreen, but it can be used to change properties and fire related signals | ||
350 | 26 | */ | ||
351 | 27 | |||
352 | 28 | class MockScreen : public QObject | ||
353 | 29 | { | ||
354 | 30 | Q_OBJECT | ||
355 | 31 | |||
356 | 32 | Q_PROPERTY(Qt::ScreenOrientation orientation READ orientation WRITE setOrientation NOTIFY orientationChanged) | ||
357 | 33 | Q_PROPERTY(Qt::ScreenOrientation primaryOrientation READ primaryOrientation WRITE setPrimaryOrientation NOTIFY primaryOrientationChanged) | ||
358 | 34 | Q_PROPERTY(QRect geometry READ geometry WRITE setGeometry NOTIFY geometryChanged) | ||
359 | 35 | |||
360 | 36 | public: | ||
361 | 37 | MockScreen(QObject* parent = 0); | ||
362 | 38 | |||
363 | 39 | Qt::ScreenOrientation orientation() const; | ||
364 | 40 | Q_SLOT void setOrientation(Qt::ScreenOrientation orientation); | ||
365 | 41 | Q_SIGNAL void orientationChanged(Qt::ScreenOrientation orientation); | ||
366 | 42 | |||
367 | 43 | Qt::ScreenOrientation primaryOrientation() const; | ||
368 | 44 | Q_SLOT void setPrimaryOrientation(Qt::ScreenOrientation orientation); | ||
369 | 45 | Q_SIGNAL void primaryOrientationChanged(Qt::ScreenOrientation orientation); | ||
370 | 46 | |||
371 | 47 | QRect geometry() const; | ||
372 | 48 | Q_SLOT void setGeometry(const QRect& geometry); | ||
373 | 49 | Q_SIGNAL void geometryChanged(const QRect& geometry); | ||
374 | 50 | |||
375 | 51 | private: | ||
376 | 52 | Qt::ScreenOrientation m_orientation; | ||
377 | 53 | Qt::ScreenOrientation m_primaryOrientation; | ||
378 | 54 | QRect m_geometry; | ||
379 | 55 | }; | ||
380 | 56 | |||
381 | 57 | #endif // MOCKSCREEN_H | ||
382 | 0 | 58 | ||
383 | === added directory 'maliit-keyboard/tests/dynamic-layout' | |||
384 | === added file 'maliit-keyboard/tests/dynamic-layout/dynamic-layout.pro' | |||
385 | --- maliit-keyboard/tests/dynamic-layout/dynamic-layout.pro 1970-01-01 00:00:00 +0000 | |||
386 | +++ maliit-keyboard/tests/dynamic-layout/dynamic-layout.pro 2013-08-09 11:00:42 +0000 | |||
387 | @@ -0,0 +1,17 @@ | |||
388 | 1 | include(../../config.pri) | ||
389 | 2 | include(../common-check.pri) | ||
390 | 3 | include(../../config-plugin.pri) | ||
391 | 4 | |||
392 | 5 | #CONFIG += testlib | ||
393 | 6 | TEMPLATE = app | ||
394 | 7 | TARGET = ut_dynamiclayout | ||
395 | 8 | INCLUDEPATH += . ../ ../../lib ../../ | ||
396 | 9 | QT = core testlib gui quick | ||
397 | 10 | |||
398 | 11 | |||
399 | 12 | TOP_BUILDDIR = $${OUT_PWD}/../.. | ||
400 | 13 | LIBS += -L$${TOP_BUILDDIR}/plugin -lmaliit-keyboard-plugin | ||
401 | 14 | |||
402 | 15 | OTHER_FILES += test-ui-constants.qml | ||
403 | 16 | |||
404 | 17 | SOURCES += test.cpp | ||
405 | 0 | 18 | ||
406 | === added file 'maliit-keyboard/tests/dynamic-layout/test-ui-constants.qml' | |||
407 | --- maliit-keyboard/tests/dynamic-layout/test-ui-constants.qml 1970-01-01 00:00:00 +0000 | |||
408 | +++ maliit-keyboard/tests/dynamic-layout/test-ui-constants.qml 2013-08-09 11:00:42 +0000 | |||
409 | @@ -0,0 +1,79 @@ | |||
410 | 1 | /* | ||
411 | 2 | * Copyright 2013 Canonical Ltd. | ||
412 | 3 | * | ||
413 | 4 | * This program is free software; you can redistribute it and/or modify | ||
414 | 5 | * it under the terms of the GNU Lesser General Public License as published by | ||
415 | 6 | * the Free Software Foundation; version 3. | ||
416 | 7 | * | ||
417 | 8 | * This program is distributed in the hope that it will be useful, | ||
418 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
419 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
420 | 11 | * GNU Lesser General Public License for more details. | ||
421 | 12 | * | ||
422 | 13 | * You should have received a copy of the GNU Lesser General Public License | ||
423 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
424 | 15 | */ | ||
425 | 16 | |||
426 | 17 | import QtQuick 2.0 | ||
427 | 18 | import Ubuntu.Components 0.1 | ||
428 | 19 | |||
429 | 20 | |||
430 | 21 | /** | ||
431 | 22 | * these items only hold variables | ||
432 | 23 | */ | ||
433 | 24 | |||
434 | 25 | Item { | ||
435 | 26 | id: keyboard_constants | ||
436 | 27 | |||
437 | 28 | property real key_area_borders: units.gu( 1.222 ); | ||
438 | 29 | property string font_color: "#666666" | ||
439 | 30 | property string font_family: "Ubuntu Medium" | ||
440 | 31 | |||
441 | 32 | property int reference_width: 720 | ||
442 | 33 | property int reference_height: 468 | ||
443 | 34 | |||
444 | 35 | property int portrait_invisible_touch_area: units.gu( 6.777 ); | ||
445 | 36 | property int portrait_keyboard_visible_height: units.gu( 26.0 ); | ||
446 | 37 | property real portrait_keyboard_screen_width_ratio: 1.0 | ||
447 | 38 | |||
448 | 39 | property real portrait_top_margin: units.gu( 1.35 ); | ||
449 | 40 | property real landscape_top_margin: units.gu( 4.35 ); | ||
450 | 41 | property real portrait_bottom_margin: units.gu( 2.00 ); | ||
451 | 42 | property real landscape_bottom_margin: units.gu( 2.00 ); | ||
452 | 43 | |||
453 | 44 | property real key_height: units.gu( 4.888 ); // not used | ||
454 | 45 | |||
455 | 46 | // make sure when you change these, also change the unittest | ||
456 | 47 | property real key_width_small: 10 | ||
457 | 48 | property real key_width_medium: 12 | ||
458 | 49 | property real key_width_large: 15 // shift | ||
459 | 50 | property real key_width_xlarge: 18 // 123 key | ||
460 | 51 | property real key_width_xxlarge: 24 // space | ||
461 | 52 | property real key_width_stretched: 30 // ? | ||
462 | 53 | |||
463 | 54 | property real font_size: 12; | ||
464 | 55 | property real font_size_small: 10; | ||
465 | 56 | |||
466 | 57 | property int landscape_invisible_touch_area: units.gu( 6.777 ); | ||
467 | 58 | property int landscape_keyboard_visible_height: units.gu( 33.4 ); | ||
468 | 59 | property real landscape_keyboard_screen_width_ratio: 1.0 | ||
469 | 60 | |||
470 | 61 | property real landscape_space_between_rows: units.dp( 0.00 ); | ||
471 | 62 | property real landscape_space_between_keys: units.dp( 0.00 ); | ||
472 | 63 | property real portrait_space_between_rows: units.dp( 2.00 ); | ||
473 | 64 | property real portrait_space_between_keys: units.dp( 10.00 ); | ||
474 | 65 | |||
475 | 66 | property string key_background_normal: "keybg@18.png" | ||
476 | 67 | property string key_background_special: "keybg_action@18.png" | ||
477 | 68 | property string key_background_deadkey: "" | ||
478 | 69 | |||
479 | 70 | property real phone_keyboard_height_portrait: 0.365; | ||
480 | 71 | property real phone_keyboard_height_landscape: 0.50; | ||
481 | 72 | |||
482 | 73 | property real tablet_keyboard_height_portrait: 0.28; | ||
483 | 74 | property real tablet_keyboard_height_landscape: 0.38; | ||
484 | 75 | |||
485 | 76 | property int landscape_wordribbon_height: units.gu( 4.0 ); | ||
486 | 77 | property int portrait_wordribbon_height: units.gu( 4.0 ); | ||
487 | 78 | } | ||
488 | 79 | |||
489 | 0 | 80 | ||
490 | === added file 'maliit-keyboard/tests/dynamic-layout/test.cpp' | |||
491 | --- maliit-keyboard/tests/dynamic-layout/test.cpp 1970-01-01 00:00:00 +0000 | |||
492 | +++ maliit-keyboard/tests/dynamic-layout/test.cpp 2013-08-09 11:00:42 +0000 | |||
493 | @@ -0,0 +1,186 @@ | |||
494 | 1 | /* | ||
495 | 2 | * Copyright 2013 Canonical Ltd. | ||
496 | 3 | * | ||
497 | 4 | * This program is free software; you can redistribute it and/or modify | ||
498 | 5 | * it under the terms of the GNU Lesser General Public License as published by | ||
499 | 6 | * the Free Software Foundation; version 3. | ||
500 | 7 | * | ||
501 | 8 | * This program is distributed in the hope that it will be useful, | ||
502 | 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
503 | 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
504 | 11 | * GNU Lesser General Public License for more details. | ||
505 | 12 | * | ||
506 | 13 | * You should have received a copy of the GNU Lesser General Public License | ||
507 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
508 | 15 | */ | ||
509 | 16 | |||
510 | 17 | |||
511 | 18 | #include "plugin/inputmethod.h" | ||
512 | 19 | #include "lib/models/wordribbon.h" | ||
513 | 20 | #include "lib/models/styleattributes.h" | ||
514 | 21 | |||
515 | 22 | #include "lib/logic/dynamiclayout.h" | ||
516 | 23 | #include "lib/logic/keyboardloader.h" | ||
517 | 24 | #include "lib/logic/layouthelper.h" | ||
518 | 25 | #include "lib/logic/keyareaconverter.h" | ||
519 | 26 | #include "lib/logic/style.h" | ||
520 | 27 | |||
521 | 28 | #include "common/inputmethodhostprobe.h" | ||
522 | 29 | #include "common/mockscreen.h" | ||
523 | 30 | |||
524 | 31 | #include <maliit/plugins/abstractinputmethodhost.h> | ||
525 | 32 | |||
526 | 33 | #include <QtTest/QtTest> | ||
527 | 34 | |||
528 | 35 | using namespace MaliitKeyboard; | ||
529 | 36 | using namespace MaliitKeyboard::Logic; | ||
530 | 37 | |||
531 | 38 | const QRect referenceScreenGeometry(0,0,720,1280); | ||
532 | 39 | |||
533 | 40 | class TestDynamicLayout: public QObject | ||
534 | 41 | { | ||
535 | 42 | Q_OBJECT | ||
536 | 43 | private: | ||
537 | 44 | |||
538 | 45 | void connectUiConstToScreen(const MockScreen& mockScreen) | ||
539 | 46 | { | ||
540 | 47 | const QScreen* screen = qGuiApp->primaryScreen(); | ||
541 | 48 | disconnect( screen, SIGNAL(primaryOrientationChanged(Qt::ScreenOrientation)), uiConst, SLOT(onPrimaryOrientationChanged(Qt::ScreenOrientation)) ); | ||
542 | 49 | disconnect( screen, SIGNAL(orientationChanged(Qt::ScreenOrientation)), uiConst, SLOT(onPrimaryOrientationChanged(Qt::ScreenOrientation)) ); | ||
543 | 50 | disconnect( screen, SIGNAL(geometryChanged(QRect)), uiConst, SLOT(onGeometryChanged(QRect)) ); | ||
544 | 51 | |||
545 | 52 | connect( &mockScreen, SIGNAL(primaryOrientationChanged(Qt::ScreenOrientation)), uiConst, SLOT(onPrimaryOrientationChanged(Qt::ScreenOrientation)) ); | ||
546 | 53 | connect( &mockScreen, SIGNAL(orientationChanged(Qt::ScreenOrientation)), uiConst, SLOT(onPrimaryOrientationChanged(Qt::ScreenOrientation)) ); | ||
547 | 54 | connect( &mockScreen, SIGNAL(geometryChanged(QRect)), uiConst, SLOT(onGeometryChanged(QRect)) ); | ||
548 | 55 | } | ||
549 | 56 | |||
550 | 57 | Q_SLOT void dynamicLayout() | ||
551 | 58 | { | ||
552 | 59 | uiConst->instance(); | ||
553 | 60 | QVERIFY(uiConst); | ||
554 | 61 | |||
555 | 62 | MockScreen mockScreen; | ||
556 | 63 | connectUiConstToScreen(mockScreen); | ||
557 | 64 | |||
558 | 65 | mockScreen.setGeometry(QRect(0,0, 300,400)); | ||
559 | 66 | mockScreen.setOrientation(Qt::PortraitOrientation); | ||
560 | 67 | mockScreen.setPrimaryOrientation(Qt::PortraitOrientation); | ||
561 | 68 | |||
562 | 69 | uiConst->initDynamicLayout( "maliit-keyboard/tests/dynamic-layout/test-ui-constants.qml" ); | ||
563 | 70 | QCOMPARE( uiConst->windowGeometryRect(Qt::PortraitOrientation).width(), 300 ); | ||
564 | 71 | |||
565 | 72 | KeyboardLoader loader; | ||
566 | 73 | loader.setActiveId("en_us"); // TODO add a test layout | ||
567 | 74 | Keyboard kb = loader.keyboard(); | ||
568 | 75 | |||
569 | 76 | QVERIFY(kb.keys.size() > 0); | ||
570 | 77 | QVERIFY2(kb.keys.size() == 33, "test if en_us layout contains 33 keys"); | ||
571 | 78 | |||
572 | 79 | uiConst->reset(); | ||
573 | 80 | connectUiConstToScreen(mockScreen); | ||
574 | 81 | |||
575 | 82 | // this is important, so uiConst gets signals and changes internally | ||
576 | 83 | mockScreen.setGeometry( referenceScreenGeometry ); | ||
577 | 84 | mockScreen.setOrientation(Qt::PortraitOrientation); | ||
578 | 85 | mockScreen.setPrimaryOrientation(Qt::PortraitOrientation); | ||
579 | 86 | |||
580 | 87 | uiConst->initDynamicLayout( "maliit-keyboard/tests/dynamic-layout/test-ui-constants.qml" ); | ||
581 | 88 | |||
582 | 89 | QCOMPARE( uiConst->windowGeometryRect(Qt::PortraitOrientation).width(), 720 ); | ||
583 | 90 | |||
584 | 91 | // this should remain the same even if we rotate the screen, as we depend on contentOrientation | ||
585 | 92 | mockScreen.setOrientation(Qt::LandscapeOrientation); | ||
586 | 93 | QCOMPARE( uiConst->windowGeometryRect(Qt::PortraitOrientation).width(), 720 ); | ||
587 | 94 | |||
588 | 95 | // virtual width depending on contentOrientation | ||
589 | 96 | QCOMPARE( uiConst->windowWidth(LayoutHelper::Portrait), 720 ); | ||
590 | 97 | QCOMPARE( uiConst->windowWidth(LayoutHelper::Landscape), 1280 ); | ||
591 | 98 | |||
592 | 99 | // not sure if we need this in future | ||
593 | 100 | QVector<int> margins = uiConst->calculateMargins(LayoutHelper::Portrait, kb); | ||
594 | 101 | QVERIFY( margins[0] > 0 ); | ||
595 | 102 | |||
596 | 103 | // TODO orientation argument not needed, qreal not needed | ||
597 | 104 | QCOMPARE( uiConst->keyWidth(LayoutHelper::Portrait, KeyDescription::Small), 10.0 ); | ||
598 | 105 | QCOMPARE( uiConst->keyWidth(LayoutHelper::Portrait, KeyDescription::Medium), 12.0 ); | ||
599 | 106 | QCOMPARE( uiConst->keyWidth(LayoutHelper::Portrait, KeyDescription::Large), 15.0 ); | ||
600 | 107 | QCOMPARE( uiConst->keyWidth(LayoutHelper::Portrait, KeyDescription::XLarge), 18.0 ); | ||
601 | 108 | QCOMPARE( uiConst->keyWidth(LayoutHelper::Portrait, KeyDescription::XXLarge), 24.0 ); | ||
602 | 109 | QCOMPARE( uiConst->keyWidth(LayoutHelper::Portrait, KeyDescription::Stretched), 30.0 ); | ||
603 | 110 | |||
604 | 111 | // keyHeight() not tested, calculated | ||
605 | 112 | |||
606 | 113 | QCOMPARE( uiConst->fontSize(LayoutHelper::Portrait), 12.0 ); | ||
607 | 114 | QCOMPARE( uiConst->fontSizeSmall(LayoutHelper::Portrait), 10.0 ); | ||
608 | 115 | } | ||
609 | 116 | |||
610 | 117 | /* | ||
611 | 118 | * Area | ||
612 | 119 | * size QSize | ||
613 | 120 | * background QByteArray | ||
614 | 121 | * backgroundBorders QMargins | ||
615 | 122 | * | ||
616 | 123 | * Key | ||
617 | 124 | * origin QPoint | ||
618 | 125 | * area Area | ||
619 | 126 | * label Label | ||
620 | 127 | * action Action | ||
621 | 128 | * style Key::Style (normal, special, dead) | ||
622 | 129 | * margins QMargins | ||
623 | 130 | * icon QByteArray | ||
624 | 131 | * has_extended_keys bool | ||
625 | 132 | * flags_padding int | ||
626 | 133 | * command_sequence QString | ||
627 | 134 | * | ||
628 | 135 | * Label | ||
629 | 136 | * text QString | ||
630 | 137 | * font Font | ||
631 | 138 | * rect QRect | ||
632 | 139 | * | ||
633 | 140 | * Font | ||
634 | 141 | * name QByteArray | ||
635 | 142 | * size int | ||
636 | 143 | * color QByteArray | ||
637 | 144 | * stretch int | ||
638 | 145 | * | ||
639 | 146 | * KeyDescription | ||
640 | 147 | * row int | ||
641 | 148 | * flags: left|right spacer, rtl-icon | ||
642 | 149 | * width KeyDescription::Width (Small, Medium, ...) | ||
643 | 150 | * icon KeyDescription::Icon (no, return, backspace, shift, ...) | ||
644 | 151 | * font_group KeyDescription::FontGroup (normal, big) | ||
645 | 152 | * | ||
646 | 153 | * Keyboard | ||
647 | 154 | * style name QString | ||
648 | 155 | * keys vector of Key | ||
649 | 156 | * descriptions vector of KeyDescription | ||
650 | 157 | * | ||
651 | 158 | * KeyArea | ||
652 | 159 | * keys vector of Keys | ||
653 | 160 | * origin QPoint | ||
654 | 161 | * area Area | ||
655 | 162 | * margin qreal | ||
656 | 163 | **/ | ||
657 | 164 | |||
658 | 165 | |||
659 | 166 | Q_SLOT void keyAreaConverter() | ||
660 | 167 | { | ||
661 | 168 | KeyboardLoader loader; | ||
662 | 169 | loader.setActiveId("en_us"); | ||
663 | 170 | |||
664 | 171 | // this really seems overkill | ||
665 | 172 | Style* style = new Style; | ||
666 | 173 | style->setProfile("ubuntu"); | ||
667 | 174 | |||
668 | 175 | KeyAreaConverter converter(style->attributes(), &loader); | ||
669 | 176 | converter.setLayoutOrientation(MaliitKeyboard::Logic::LayoutHelper::Portrait); | ||
670 | 177 | |||
671 | 178 | KeyArea area = converter.keyArea(); | ||
672 | 179 | |||
673 | 180 | QVERIFY2( area.keys().size() == 33, "Make sure all keys are in keyarea" ); | ||
674 | 181 | } | ||
675 | 182 | }; | ||
676 | 183 | |||
677 | 184 | |||
678 | 185 | QTEST_MAIN(TestDynamicLayout) | ||
679 | 186 | #include "test.moc" | ||
680 | 0 | 187 | ||
681 | === modified file 'maliit-keyboard/tests/tests.pro' | |||
682 | --- maliit-keyboard/tests/tests.pro 2013-08-06 19:58:25 +0000 | |||
683 | +++ maliit-keyboard/tests/tests.pro 2013-08-09 11:00:42 +0000 | |||
684 | @@ -10,6 +10,7 @@ | |||
685 | 10 | qml-test-app \ | 10 | qml-test-app \ |
686 | 11 | qml-api-tests \ | 11 | qml-api-tests \ |
687 | 12 | wordengine \ | 12 | wordengine \ |
688 | 13 | dynamic-layout \ | ||
689 | 13 | 14 | ||
690 | 14 | CONFIG += ordered | 15 | CONFIG += ordered |
691 | 15 | QMAKE_EXTRA_TARGETS += check | 16 | QMAKE_EXTRA_TARGETS += check |
692 | 16 | 17 | ||
693 | === modified file 'unittests.sh' | |||
694 | --- unittests.sh 2013-08-06 19:58:25 +0000 | |||
695 | +++ unittests.sh 2013-08-09 11:00:42 +0000 | |||
696 | @@ -9,3 +9,4 @@ | |||
697 | 9 | qmltestrunner -import maliit-keyboard/tests/qml-api-tests/imports/ -input maliit-keyboard/tests/qml-api-tests/tst_inputMethodHints.qml | 9 | qmltestrunner -import maliit-keyboard/tests/qml-api-tests/imports/ -input maliit-keyboard/tests/qml-api-tests/tst_inputMethodHints.qml |
698 | 10 | 10 | ||
699 | 11 | 11 | ||
700 | 12 |
PASSED: Continuous integration, rev:2141 jenkins. qa.ubuntu. com/job/ phablet- extras- maliit- plugins- ci/115/ jenkins. qa.ubuntu. com/job/ phablet- extras- maliit- plugins- saucy-armhf- ci/67 jenkins. qa.ubuntu. com/job/ phablet- extras- maliit- plugins- saucy-armhf- ci/67/artifact/ work/output/ *zip*/output. zip jenkins. qa.ubuntu. com/job/ phablet- extras- maliit- plugins- saucy-i386- ci/67
http://
Executed test runs:
SUCCESS: http://
deb: http://
SUCCESS: http://
Click here to trigger a rebuild: s-jenkins: 8080/job/ phablet- extras- maliit- plugins- ci/115/ rebuild
http://