@@ -1407,6 +1407,63 @@ private Q_SLOTS:
14071407 QCOMPARE(lvwph->m_topSectionItem->y(), 0.);
14081408 }
14091409
1410+ void testShowHeaderHalfShown()
1411+ {
1412+#if (QT_VERSION < QT_VERSION_CHECK(5, 1, 0))
1413+ QSKIP("This test is extremely unstable in 5.0.x");
1414+#endif
1415+ changeContentY(20);
1416+
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);
1430+
1431+ lvwph->showHeader();
1432+
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.);
1449+
1450+ scrollToTop();
1451+
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);
1465+ }
1466+
14101467 void testShowHeaderCloseToTheTop()
14111468 {
14121469 changeContentY(375);