@@ -1407,6 +1407,63 @@ private Q_SLOTS:
1407 QCOMPARE(lvwph->m_topSectionItem->y(), 0.);
1407 QCOMPARE(lvwph->m_topSectionItem->y(), 0.);
1410+ void testShowHeaderHalfShown()
1412+#if (QT_VERSION < QT_VERSION_CHECK(5, 1, 0))
1413+ QSKIP("This test is extremely unstable in 5.0.x");
1415+ changeContentY(20);
1417+ QTRY_COMPARE(lvwph->m_visibleItems.count(), 3);
1418+ QCOMPARE(lvwph->m_firstVisibleIndex, 0);
1419+ verifyItem(0, 30., 190., false, "Agressive", false);
1420+ verifyItem(1, 220, 240., false, "Regular", false);
1421+ verifyItem(2, 460, 390., false, "Mild", false);
1422+ QCOMPARE(lvwph->m_minYExtent, 0.);
1423+ QCOMPARE(lvwph->m_clipItem->y(), 20.);
1424+ QCOMPARE(lvwph->m_clipItem->clip(), false);
1425+ QCOMPARE(lvwph->m_headerItem->y(), 0.);
1426+ QCOMPARE(lvwph->m_headerItem->height(), 50.);
1427+ QCOMPARE(lvwph->contentY(), 20.);
1428+ QCOMPARE(lvwph->m_headerItemShownHeight, 0.);;
1429+ QVERIFY(QQuickItemPrivate::get(lvwph->m_topSectionItem)->culled);
1431+ lvwph->showHeader();
1433+ QTRY_VERIFY(!lvwph->m_headerShowAnimation->isRunning());
1434+ QTRY_COMPARE(lvwph->m_visibleItems.count(), 3);
1435+ QCOMPARE(lvwph->m_firstVisibleIndex, 0);
1436+ verifyItem(0, -20., 190., false, "Agressive", true);
1437+ verifyItem(1, 170, 240., false, "Regular", false);
1438+ verifyItem(2, 410, 390., false, "Mild", false);
1439+ QCOMPARE(lvwph->m_minYExtent, 20.);
1440+ QCOMPARE(lvwph->m_clipItem->y(), 50.);
1441+ QCOMPARE(lvwph->m_clipItem->clip(), true);
1442+ QCOMPARE(lvwph->m_headerItem->y(), 0.);
1443+ QCOMPARE(lvwph->m_headerItem->height(), 50.);
1444+ QCOMPARE(lvwph->contentY(), 0.);
1445+ QCOMPARE(lvwph->m_headerItemShownHeight, 50.);
1446+ QVERIFY(!QQuickItemPrivate::get(lvwph->m_topSectionItem)->culled);
1447+ QCOMPARE(section(lvwph->m_topSectionItem), QString("Agressive"));
1448+ QCOMPARE(lvwph->m_topSectionItem->y(), 0.);
1452+ QTRY_COMPARE(lvwph->m_visibleItems.count(), 3);
1453+ QCOMPARE(lvwph->m_firstVisibleIndex, 0);
1454+ verifyItem(0, 50., 190., false, "Agressive", false);
1455+ verifyItem(1, 240., 240., false, "Regular", false);
1456+ verifyItem(2, 480., 390., false, "Mild", false);
1457+ QCOMPARE(lvwph->m_minYExtent, 20.);
1458+ QCOMPARE(lvwph->m_clipItem->y(), -20.);
1459+ QCOMPARE(lvwph->m_clipItem->clip(), false);
1460+ QCOMPARE(lvwph->m_headerItem->y(), -20.);
1461+ QCOMPARE(lvwph->m_headerItem->height(), 50.);
1462+ QCOMPARE(lvwph->contentY(), -20.);
1463+ QCOMPARE(lvwph->m_headerItemShownHeight, 0.);
1464+ QVERIFY(QQuickItemPrivate::get(lvwph->m_topSectionItem)->culled);
1410 void testShowHeaderCloseToTheTop()
1467 void testShowHeaderCloseToTheTop()
1412 changeContentY(375);
1469 changeContentY(375);