on a3abeec help sign in
unity8/tests/plugins/Dash/horizontaljournaltest.cpp
487 lines 20 kB history raw
1/*
2 * Copyright (C) 2013 Canonical, Ltd.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 3.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
17#include <QQuickView>
18#include <QtTestGui>
19#include <QDebug>
20#include <QGuiApplication>
21#include <QQuickView>
22#include <QtQml/qqml.h>
23#include <QStringListModel>
24#include <QQmlContext>
25#include <QQmlEngine>
26#include <private/qquickitem_p.h>
28#include "horizontaljournal.h"
30class WidthModel : public QAbstractListModel {
31public:
32 QHash<int, QByteArray> roleNames() const override
33 {
34 QHash<int, QByteArray> roles;
35 roles.insert(Qt::DisplayRole, "modelWidth");
36 return roles;
37 }
39 int rowCount(const QModelIndex & /*parent*/) const override
40 {
41 return m_list.count();
42 }
44 QVariant data(const QModelIndex &index, int /*role*/) const override
45 {
46 return m_list[index.row()];
47 }
49 QStringList stringList() const
50 {
51 return m_list;
52 }
54 void setStringList(const QStringList &list)
55 {
56 beginResetModel();
57 m_list = list;
58 endResetModel();
59 }
61 void addString(const QString& string)
62 {
63 beginInsertRows(QModelIndex(), m_list.count(), m_list.count());
64 m_list << string;
65 endInsertRows();
66 }
68 void removeLast()
69 {
70 beginRemoveRows(QModelIndex(), m_list.count() - 1, m_list.count() - 1);
71 m_list.takeLast();
72 endRemoveRows();
73 }
75private:
76 QStringList m_list;
77};
79class HorizontalJournalTest : public QObject
81 Q_OBJECT
83private:
84 void verifyItem(const QQuickItem *item, int modelIndex, qreal x, qreal y, bool visible)
85 {
86 QTRY_COMPARE(item->x(), x);
87 QTRY_COMPARE(item->y(), y);
88 QTRY_COMPARE(item->width(), model->stringList()[modelIndex].toDouble());
89 QTRY_COMPARE(QQuickItemPrivate::get(item)->culled, !visible);
90 }
92 void checkInitialPositions()
93 {
94 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
95 QTRY_COMPARE(hj->m_visibleItems.count(), 14);
96 verifyItem(hj->m_visibleItems[ 0], 0, 0, 0, true);
97 verifyItem(hj->m_visibleItems[ 1], 1, 110, 0, true);
98 verifyItem(hj->m_visibleItems[ 2], 2, 170, 0, true);
99 verifyItem(hj->m_visibleItems[ 3], 3, 305, 0, true);
100 verifyItem(hj->m_visibleItems[ 4], 4, 325, 0, true);
101 verifyItem(hj->m_visibleItems[ 5], 5, 375, 0, true);
102 verifyItem(hj->m_visibleItems[ 6], 6, 0, 160, true);
103 verifyItem(hj->m_visibleItems[ 7], 7, 210, 160, true);
104 verifyItem(hj->m_visibleItems[ 8], 8, 0, 320, true);
105 verifyItem(hj->m_visibleItems[ 9], 9, 170, 320, true);
106 verifyItem(hj->m_visibleItems[10], 10, 200, 320, true);
107 verifyItem(hj->m_visibleItems[11], 11, 230, 320, true);
108 verifyItem(hj->m_visibleItems[12], 12, 305, 320, true);
109 verifyItem(hj->m_visibleItems[13], 13, 0, 480, false);
110 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 4);
111 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 5], 375.);
112 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 7], 210.);
113 QTRY_COMPARE(hj->m_lastInRowIndexPosition[12], 305.);
114 QTRY_COMPARE(hj->m_lastInRowIndexPosition[13], 0.);
115 QCOMPARE(hj->implicitHeight(), 900.);
116 }
118private Q_SLOTS:
119 void init()
120 {
121 view = new QQuickView();
122 view->setResizeMode(QQuickView::SizeRootObjectToView);
124 model = new WidthModel();
125 QStringList widthList;
126 widthList << "100" << "50" << "125" << "10" << "40" << "70" << "200" << "110" << "160" << "20" << "20" << "65" << "80" << "200" << "300" << "130" << "400" << "300" << "500" << "10";
127 model->setStringList(widthList);
129 view->setSource(QUrl::fromLocalFile(DASHVIEWSTEST_FOLDER "/horizontaljournaltest.qml"));
131 view->show();
132 view->resize(470, 400);
133 QTest::qWaitForWindowExposed(view);
135 hj = static_cast<HorizontalJournal*>(view->rootObject()->findChild<QObject*>("hj"));
136 hj->setModel(model);
138 checkInitialPositions();
139 }
141 void cleanup()
142 {
143 delete view;
144 delete model;
145 }
147 void testWidthResize()
148 {
149 view->resize(629, 400);
150 QTRY_COMPARE(hj->width(), 629.);
152 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
153 QTRY_COMPARE(hj->m_visibleItems.count(), 17);
154 verifyItem(hj->m_visibleItems[ 0], 0, 0, 0, true);
155 verifyItem(hj->m_visibleItems[ 1], 1, 110, 0, true);
156 verifyItem(hj->m_visibleItems[ 2], 2, 170, 0, true);
157 verifyItem(hj->m_visibleItems[ 3], 3, 305, 0, true);
158 verifyItem(hj->m_visibleItems[ 4], 4, 325, 0, true);
159 verifyItem(hj->m_visibleItems[ 5], 5, 375, 0, true);
160 verifyItem(hj->m_visibleItems[ 6], 6, 0, 160, true);
161 verifyItem(hj->m_visibleItems[ 7], 7, 210, 160, true);
162 verifyItem(hj->m_visibleItems[ 8], 8, 330, 160, true);
163 verifyItem(hj->m_visibleItems[ 9], 9, 500, 160, true);
164 verifyItem(hj->m_visibleItems[10], 10, 530, 160, true);
165 verifyItem(hj->m_visibleItems[11], 11, 560, 160, true);
166 verifyItem(hj->m_visibleItems[12], 12, 0, 320, true);
167 verifyItem(hj->m_visibleItems[13], 13, 90, 320, true);
168 verifyItem(hj->m_visibleItems[14], 14, 300, 320, true);
169 verifyItem(hj->m_visibleItems[15], 15, 0, 480, false);
170 verifyItem(hj->m_visibleItems[16], 16, 140, 480, false);
171 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 4);
172 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 5], 375.);
173 QTRY_COMPARE(hj->m_lastInRowIndexPosition[11], 560.);
174 QTRY_COMPARE(hj->m_lastInRowIndexPosition[14], 300.);
175 QTRY_COMPARE(hj->m_lastInRowIndexPosition[16], 140.);
176 QCOMPARE(hj->implicitHeight(), 630. + 3. * 630. / 17.);
178 view->resize(470, 400);
180 // This is exactly the same block as the first again
181 checkInitialPositions();
182 }
184 void testColumnSpacing()
185 {
186 hj->setColumnSpacing(11);
188 QTRY_COMPARE(hj->m_needsRelayout, false);
189 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
190 QTRY_COMPARE(hj->m_visibleItems.count(), 14);
191 verifyItem(hj->m_visibleItems[ 0], 0, 0, 0, true);
192 verifyItem(hj->m_visibleItems[ 1], 1, 111, 0, true);
193 verifyItem(hj->m_visibleItems[ 2], 2, 172, 0, true);
194 verifyItem(hj->m_visibleItems[ 3], 3, 308, 0, true);
195 verifyItem(hj->m_visibleItems[ 4], 4, 329, 0, true);
196 verifyItem(hj->m_visibleItems[ 5], 5, 380, 0, true);
197 verifyItem(hj->m_visibleItems[ 6], 6, 0, 160, true);
198 verifyItem(hj->m_visibleItems[ 7], 7, 211, 160, true);
199 verifyItem(hj->m_visibleItems[ 8], 8, 0, 320, true);
200 verifyItem(hj->m_visibleItems[ 9], 9, 171, 320, true);
201 verifyItem(hj->m_visibleItems[10], 10, 202, 320, true);
202 verifyItem(hj->m_visibleItems[11], 11, 233, 320, true);
203 verifyItem(hj->m_visibleItems[12], 12, 309, 320, true);
204 verifyItem(hj->m_visibleItems[13], 13, 0, 480, false);
205 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 4);
206 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 5], 380.);
207 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 7], 211.);
208 QTRY_COMPARE(hj->m_lastInRowIndexPosition[12], 309.);
209 QTRY_COMPARE(hj->m_lastInRowIndexPosition[13], 0.);
210 QCOMPARE(hj->implicitHeight(), 900.);
212 hj->setColumnSpacing(10);
213 QTRY_COMPARE(hj->m_needsRelayout, false);
215 // This is exactly the same block as the first again
216 checkInitialPositions();
217 }
219 void testRowSpacing()
220 {
221 hj->setRowSpacing(11);
223 QTRY_COMPARE(hj->m_needsRelayout, false);
224 QTRY_COMPARE(hj->m_needsRelayout, false);
225 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
226 QTRY_COMPARE(hj->m_visibleItems.count(), 14);
227 verifyItem(hj->m_visibleItems[ 0], 0, 0, 0, true);
228 verifyItem(hj->m_visibleItems[ 1], 1, 110, 0, true);
229 verifyItem(hj->m_visibleItems[ 2], 2, 170, 0, true);
230 verifyItem(hj->m_visibleItems[ 3], 3, 305, 0, true);
231 verifyItem(hj->m_visibleItems[ 4], 4, 325, 0, true);
232 verifyItem(hj->m_visibleItems[ 5], 5, 375, 0, true);
233 verifyItem(hj->m_visibleItems[ 6], 6, 0, 161, true);
234 verifyItem(hj->m_visibleItems[ 7], 7, 210, 161, true);
235 verifyItem(hj->m_visibleItems[ 8], 8, 0, 322, true);
236 verifyItem(hj->m_visibleItems[ 9], 9, 170, 322, true);
237 verifyItem(hj->m_visibleItems[10], 10, 200, 322, true);
238 verifyItem(hj->m_visibleItems[11], 11, 230, 322, true);
239 verifyItem(hj->m_visibleItems[12], 12, 305, 322, true);
240 verifyItem(hj->m_visibleItems[13], 13, 0, 483, false);
241 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 4);
242 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 5], 375.);
243 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 7], 210.);
244 QTRY_COMPARE(hj->m_lastInRowIndexPosition[12], 305.);
245 QTRY_COMPARE(hj->m_lastInRowIndexPosition[13], 0.);
246 QCOMPARE(hj->implicitHeight(), 633. + 6. * 633. / 14.);
248 hj->setRowSpacing(10);
249 QTRY_COMPARE(hj->m_needsRelayout, false);
251 // This is exactly the same block as the first again
252 checkInitialPositions();
253 }
255 void testDelegateCreationRanges()
256 {
257 hj->setDisplayMarginBeginning(-300);
258 hj->setDisplayMarginEnd(-(hj->height() - view->height()));
260 QTRY_COMPARE(hj->m_firstVisibleIndex, 6);
261 QTRY_COMPARE(hj->m_visibleItems.count(), 7);
262 verifyItem(hj->m_visibleItems[0], 6, 0, 160, true);
263 verifyItem(hj->m_visibleItems[1], 7, 210, 160, true);
264 verifyItem(hj->m_visibleItems[2], 8, 0, 320, true);
265 verifyItem(hj->m_visibleItems[3], 9, 170, 320, true);
266 verifyItem(hj->m_visibleItems[4], 10, 200, 320, true);
267 verifyItem(hj->m_visibleItems[5], 11, 230, 320, true);
268 verifyItem(hj->m_visibleItems[6], 12, 305, 320, true);
269 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 5], 375.);
270 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 7], 210.);
271 QTRY_COMPARE(hj->m_lastInRowIndexPosition[12], 305.);
273 hj->setDisplayMarginBeginning(0);
274 hj->setDisplayMarginEnd(0);
276 // This is exactly the same block as the first again
277 checkInitialPositions();
278 }
281 void testRowHeightChange()
282 {
283 hj->setRowHeight(200);
284 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
285 QTRY_COMPARE(hj->m_visibleItems.count(), 13);
286 verifyItem(hj->m_visibleItems[ 0], 0, 0, 0, true);
287 verifyItem(hj->m_visibleItems[ 1], 1, 110, 0, true);
288 verifyItem(hj->m_visibleItems[ 2], 2, 170, 0, true);
289 verifyItem(hj->m_visibleItems[ 3], 3, 305, 0, true);
290 verifyItem(hj->m_visibleItems[ 4], 4, 325, 0, true);
291 verifyItem(hj->m_visibleItems[ 5], 5, 375, 0, true);
292 verifyItem(hj->m_visibleItems[ 6], 6, 0, 210, true);
293 verifyItem(hj->m_visibleItems[ 7], 7, 210, 210, true);
294 verifyItem(hj->m_visibleItems[ 8], 8, 0, 420, false);
295 verifyItem(hj->m_visibleItems[ 9], 9, 170, 420, false);
296 verifyItem(hj->m_visibleItems[10], 10, 200, 420, false);
297 verifyItem(hj->m_visibleItems[11], 11, 230, 420, false);
298 verifyItem(hj->m_visibleItems[12], 12, 305, 420, false);
299 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 3);
300 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 5], 375.);
301 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 7], 210.);
302 QTRY_COMPARE(hj->m_lastInRowIndexPosition[12], 305.);
303 QCOMPARE(hj->implicitHeight(), 620. + 7. * 620. / 13.);
305 hj->setRowHeight(150);
307 // This is exactly the same block as the first again
308 checkInitialPositions();
309 }
311 void testChangeModel()
312 {
313 WidthModel *model2 = new WidthModel();
314 QStringList list2;
315 list2 << "100" << "50" << "125" << "25" << "50" << "50";
316 model2->setStringList(list2);
317 hj->setModel(model2);
318 delete model;
319 model = model2;
321 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
322 QTRY_COMPARE(hj->m_visibleItems.count(), 6);
323 verifyItem(hj->m_visibleItems[ 0], 0, 0, 0, true);
324 verifyItem(hj->m_visibleItems[ 1], 1, 110, 0, true);
325 verifyItem(hj->m_visibleItems[ 2], 2, 170, 0, true);
326 verifyItem(hj->m_visibleItems[ 3], 3, 305, 0, true);
327 verifyItem(hj->m_visibleItems[ 4], 4, 340, 0, true);
328 verifyItem(hj->m_visibleItems[ 5], 5, 400, 0, true);
329 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 0);
330 QCOMPARE(hj->implicitHeight(), 150.);
331 }
333 void testModelReset()
334 {
335 QStringList widthList;
336 widthList << "100" << "50" << "125" << "25" << "50" << "50";
337 model->setStringList(widthList);
339 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
340 QTRY_COMPARE(hj->m_visibleItems.count(), 6);
341 verifyItem(hj->m_visibleItems[ 0], 0, 0, 0, true);
342 verifyItem(hj->m_visibleItems[ 1], 1, 110, 0, true);
343 verifyItem(hj->m_visibleItems[ 2], 2, 170, 0, true);
344 verifyItem(hj->m_visibleItems[ 3], 3, 305, 0, true);
345 verifyItem(hj->m_visibleItems[ 4], 4, 340, 0, true);
346 verifyItem(hj->m_visibleItems[ 5], 5, 400, 0, true);
347 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 0);
348 QCOMPARE(hj->implicitHeight(), 150.);
349 }
351 void testModelRemoveLastNonVisible()
352 {
353 model->removeLast();
355 // This is the same than checkInitialPositions but
356 // with a different implicitHeight since there's an item less
357 // in the model
358 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
359 QTRY_COMPARE(hj->m_visibleItems.count(), 14);
360 verifyItem(hj->m_visibleItems[ 0], 0, 0, 0, true);
361 verifyItem(hj->m_visibleItems[ 1], 1, 110, 0, true);
362 verifyItem(hj->m_visibleItems[ 2], 2, 170, 0, true);
363 verifyItem(hj->m_visibleItems[ 3], 3, 305, 0, true);
364 verifyItem(hj->m_visibleItems[ 4], 4, 325, 0, true);
365 verifyItem(hj->m_visibleItems[ 5], 5, 375, 0, true);
366 verifyItem(hj->m_visibleItems[ 6], 6, 0, 160, true);
367 verifyItem(hj->m_visibleItems[ 7], 7, 210, 160, true);
368 verifyItem(hj->m_visibleItems[ 8], 8, 0, 320, true);
369 verifyItem(hj->m_visibleItems[ 9], 9, 170, 320, true);
370 verifyItem(hj->m_visibleItems[10], 10, 200, 320, true);
371 verifyItem(hj->m_visibleItems[11], 11, 230, 320, true);
372 verifyItem(hj->m_visibleItems[12], 12, 305, 320, true);
373 verifyItem(hj->m_visibleItems[13], 13, 0, 480, false);
374 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 4);
375 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 5], 375.);
376 QTRY_COMPARE(hj->m_lastInRowIndexPosition[ 7], 210.);
377 QTRY_COMPARE(hj->m_lastInRowIndexPosition[12], 305.);
378 QTRY_COMPARE(hj->m_lastInRowIndexPosition[13], 0.);
379 QTRY_COMPARE(hj->implicitHeight(), 855.);
380 }
382 void testModelAppendRemoveLast()
383 {
384 WidthModel *model2 = new WidthModel();
385 QStringList widthList;
386 widthList << "100" << "50" << "125" << "25" << "50" << "50";
387 model2->setStringList(widthList);
388 hj->setModel(model2);
389 delete model;
390 model = model2;
392 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
393 QTRY_COMPARE(hj->m_visibleItems.count(), 6);
394 verifyItem(hj->m_visibleItems[0], 0, 0, 0, true);
395 verifyItem(hj->m_visibleItems[1], 1, 110, 0, true);
396 verifyItem(hj->m_visibleItems[2], 2, 170, 0, true);
397 verifyItem(hj->m_visibleItems[3], 3, 305, 0, true);
398 verifyItem(hj->m_visibleItems[4], 4, 340, 0, true);
399 verifyItem(hj->m_visibleItems[5], 5, 400, 0, true);
400 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 0);
401 QCOMPARE(hj->implicitHeight(), 150.);
403 model2->addString("75");
405 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
406 QTRY_COMPARE(hj->m_visibleItems.count(), 7);
407 verifyItem(hj->m_visibleItems[0], 0, 0, 0, true);
408 verifyItem(hj->m_visibleItems[1], 1, 110, 0, true);
409 verifyItem(hj->m_visibleItems[2], 2, 170, 0, true);
410 verifyItem(hj->m_visibleItems[3], 3, 305, 0, true);
411 verifyItem(hj->m_visibleItems[4], 4, 340, 0, true);
412 verifyItem(hj->m_visibleItems[5], 5, 400, 0, true);
413 verifyItem(hj->m_visibleItems[6], 6, 0, 160, true);
414 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 1);
415 QTRY_COMPARE(hj->m_lastInRowIndexPosition[5], 400.);
416 QCOMPARE(hj->implicitHeight(), 310.);
418 model2->addString("50");
419 model2->addString("50");
421 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
422 QTRY_COMPARE(hj->m_visibleItems.count(), 9);
423 verifyItem(hj->m_visibleItems[0], 0, 0, 0, true);
424 verifyItem(hj->m_visibleItems[1], 1, 110, 0, true);
425 verifyItem(hj->m_visibleItems[2], 2, 170, 0, true);
426 verifyItem(hj->m_visibleItems[3], 3, 305, 0, true);
427 verifyItem(hj->m_visibleItems[4], 4, 340, 0, true);
428 verifyItem(hj->m_visibleItems[5], 5, 400, 0, true);
429 verifyItem(hj->m_visibleItems[6], 6, 0, 160, true);
430 verifyItem(hj->m_visibleItems[7], 7, 85, 160, true);
431 verifyItem(hj->m_visibleItems[8], 8, 145, 160, true);
432 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 1);
433 QTRY_COMPARE(hj->m_lastInRowIndexPosition[5], 400.);
434 QCOMPARE(hj->implicitHeight(), 310.);
436 model2->removeLast();
438 QTRY_COMPARE(hj->m_firstVisibleIndex, 0);
439 QTRY_COMPARE(hj->m_visibleItems.count(), 8);
440 verifyItem(hj->m_visibleItems[0], 0, 0, 0, true);
441 verifyItem(hj->m_visibleItems[1], 1, 110, 0, true);
442 verifyItem(hj->m_visibleItems[2], 2, 170, 0, true);
443 verifyItem(hj->m_visibleItems[3], 3, 305, 0, true);
444 verifyItem(hj->m_visibleItems[4], 4, 340, 0, true);
445 verifyItem(hj->m_visibleItems[5], 5, 400, 0, true);
446 verifyItem(hj->m_visibleItems[6], 6, 0, 160, true);
447 verifyItem(hj->m_visibleItems[7], 7, 85, 160, true);
448 QTRY_COMPARE(hj->m_lastInRowIndexPosition.count(), 1);
449 QTRY_COMPARE(hj->m_lastInRowIndexPosition[5], 400.);
450 QCOMPARE(hj->implicitHeight(), 310.);
451 }
453 void testNegativeHeight()
454 {
455 QQuickItemPrivate::get(hj)->anchors()->resetFill();
456 hj->setHeight(-8);
458 QStringList widthList;
459 widthList << "100" << "50" << "125" << "25" << "50" << "50";
460 model->setStringList(widthList);
462 QTRY_COMPARE(hj->m_visibleItems.count(), 0);
463 QTRY_COMPARE(hj->implicitHeight(), 0.);
464 }
466 void testNegativeDelegateCreationRange()
467 {
468 hj->setDisplayMarginBeginning(0);
469 hj->setDisplayMarginEnd(-(hj->height() + 100));
471 QStringList widthList;
472 widthList << "100" << "50" << "50" << "30";
473 model->setStringList(widthList);
475 QTRY_COMPARE(hj->m_visibleItems.count(), 0);
476 QTRY_COMPARE(hj->implicitHeight(), 0.);
477 }
479private:
480 QQuickView *view;
481 HorizontalJournal *hj;
482 WidthModel *model;
483};
485QTEST_MAIN(HorizontalJournalTest)
487#include "horizontaljournaltest.moc"