@@ -277,8 +277,9 @@ Item {
278 function test_dragndrop_data() {
278 function test_dragndrop_data() {
280− {tag: "startDrag", fullDrag: false},
280+ {tag: "startDrag", fullDrag: false },
281+ {tag: "fullDrag horizontal", fullDrag: true, orientation: ListView.Horizontal },
281− {tag: "fullDrag", fullDrag: true},
282+ {tag: "fullDrag vertical", fullDrag: true, orientation: ListView.Vertical },
@@ -288,8 +289,8 @@ Item {
288 var item0 = findChild(launcher, "launcherDelegate0")
289 var item0 = findChild(launcher, "launcherDelegate0")
289 var fakeDragItem = findChild(launcher, "fakeDragItem")
290 var fakeDragItem = findChild(launcher, "fakeDragItem")
290 var initialItemHeight = draggedItem.height
291 var initialItemHeight = draggedItem.height
291− var item5Name = LauncherModel.get(5).iconName
292+ var item5 = LauncherModel.get(5).appId
292− var item4Name = LauncherModel.get(4).iconName
293+ var item4 = LauncherModel.get(4).appId
294 // Initial state
295 // Initial state
295 compare(draggedItem.itemOpacity, 1, "Item's opacity is not 1 at beginning")
296 compare(draggedItem.itemOpacity, 1, "Item's opacity is not 1 at beginning")
@@ -297,28 +298,43 @@ Item {
297 tryCompare(findChild(draggedItem, "dropIndicator"), "opacity", 0)
298 tryCompare(findChild(draggedItem, "dropIndicator"), "opacity", 0)
299 // Doing longpress
300 // Doing longpress
301+ var currentMouseX = draggedItem.width / 2
300− mousePress(draggedItem, draggedItem.width / 2, draggedItem.height / 2)
302+ var currentMouseY = draggedItem.height / 2
303+ mousePress(draggedItem, currentMouseX, currentMouseY)
301 // DraggedItem needs to hide and fakeDragItem become visible
304 // DraggedItem needs to hide and fakeDragItem become visible
302 tryCompare(draggedItem, "itemOpacity", 0)
305 tryCompare(draggedItem, "itemOpacity", 0)
303 tryCompare(fakeDragItem, "visible", true)
306 tryCompare(fakeDragItem, "visible", true)
305 // Dragging a bit (> 1.5 gu)
308 // Dragging a bit (> 1.5 gu)
306− mouseMove(draggedItem, -units.gu(2), draggedItem.height / 2)
309+ currentMouseX -= units.gu(2)
310+ mouseMove(draggedItem, currentMouseX, currentMouseY)
307 // Other items need to expand and become 0.6 opaque
311 // Other items need to expand and become 0.6 opaque
308 tryCompare(item0, "angle", 0)
312 tryCompare(item0, "angle", 0)
309 tryCompare(item0, "itemOpacity", 0.6)
313 tryCompare(item0, "itemOpacity", 0.6)
311 if (data.fullDrag) {
315 if (data.fullDrag) {
312 // Dragging a bit more
316 // Dragging a bit more
317+ if (data.orientation == ListView.Horizontal) {
318+ currentMouseX -= units.gu(15)
319+ mouseMove(draggedItem, currentMouseX, currentMouseY, 100)
321+ tryCompare(findChild(draggedItem, "dropIndicator"), "opacity", 1)
313− mouseMove(draggedItem, -units.gu(15), draggedItem.height / 2, 100)
322+ tryCompare(draggedItem, "height", units.gu(1))
324+ // Dragging downwards. Item needs to move in the model
325+ currentMouseY -= initialItemHeight * 1.5
326+ mouseMove(draggedItem, currentMouseX, currentMouseY)
327+ } else if (data.orientation == ListView.Vertical) {
328+ currentMouseY -= initialItemHeight * 1.5
329+ mouseMove(draggedItem, currentMouseX, currentMouseY, 100)
314− tryCompare(findChild(draggedItem, "dropIndicator"), "opacity", 1)
331+ tryCompare(findChild(draggedItem, "dropIndicator"), "opacity", 1)
315− tryCompare(draggedItem, "height", units.gu(1))
332+ tryCompare(draggedItem, "height", units.gu(1))
317− // Dragging downwards. Item needs to move in the model
318− mouseMove(draggedItem, -units.gu(15), -initialItemHeight)
319 waitForRendering(draggedItem)
335 waitForRendering(draggedItem)
320− compare(LauncherModel.get(5).iconName, item4Name)
336+ compare(LauncherModel.get(5).appId, item4)
321− compare(LauncherModel.get(5).iconName, item5Name)
337+ compare(LauncherModel.get(4).appId, item5)
324 // Releasing and checking if initial values are restored
340 // Releasing and checking if initial values are restored
@@ -326,6 +342,10 @@ Item {
326 tryCompare(findChild(draggedItem, "dropIndicator"), "opacity", 0)
342 tryCompare(findChild(draggedItem, "dropIndicator"), "opacity", 0)
327 tryCompare(draggedItem, "itemOpacity", 1)
343 tryCompare(draggedItem, "itemOpacity", 1)
328 tryCompare(fakeDragItem, "visible", false)
344 tryCompare(fakeDragItem, "visible", false)
346+ // Click somewhere in the empty space to make it hide in case it isn't
347+ mouseClick(launcher, launcher.width - units.gu(1), units.gu(1));
348+ revealer.waitUntilLauncherDisappears();
331 function test_quicklist_dismiss() {
351 function test_quicklist_dismiss() {