@@ -31,6 +31,12 @@ PanelTest {
3131 target: clickThroughTester
3232 }
3333
34+ SignalSpy {
35+ id: showTappedSpy
36+ target: indicatorsMenu
37+ signalName: "showTapped"
38+ }
39+
3440 MouseArea {
3541 id: clickThroughTester
3642 anchors.fill: root
@@ -140,6 +146,7 @@ PanelTest {
140146
141147 function cleanup() {
142148 clickThroughSpy.clear();
149+ showTappedSpy.clear();
143150 }
144151
145152 function get_indicator_item(index) {
@@ -321,5 +328,22 @@ PanelTest {
321328 indicatorsMenu.available = true;
322329 indicatorsMenu.hide();
323330 }
331+
332+ // Ensure that showTapped is only signaled when the user hasn't moved
333+ // thir tap point
334+ // Prior to this, the user could press and drag down very fast but
335+ // still call showTapped
336+ function test_showTapped() {
337+ // Get the first indicator
338+ var firstItem = get_indicator_item(0);
339+ var firstItemMappedPosition = indicatorsMenu.mapFromItem(firstItem, firstItem.width/2, firstItem.height/2);
340+
341+ touchFlick(indicatorsMenu,
342+ firstItemMappedPosition.x, indicatorsMenu.minimizedPanelHeight / 2,
343+ firstItemMappedPosition.x, indicatorsMenu.minimizedPanelHeight * 7,
344+ true /* beginTouch */, true /* endTouch */, 100, 2);
345+
346+ verify(showTappedSpy.count === 0);
347+ }
324348 }
325349}