From 9e179a26a5fe3fa112e1ba6fa62ec094df085da2 Mon Sep 17 00:00:00 2001 From: t1mer Date: Thu, 27 Jul 2017 23:53:02 +0800 Subject: [PATCH] test dblclick fix --- test/functional/MouseEvents-test.js | 66 +++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/test/functional/MouseEvents-test.js b/test/functional/MouseEvents-test.js index 6675f999..b799bcf2 100644 --- a/test/functional/MouseEvents-test.js +++ b/test/functional/MouseEvents-test.js @@ -1412,6 +1412,72 @@ suite('MouseEvents', function() { ); }); + // ====================================================== + test('test dblclick to a wrong target', function () { + var stage = addStage(); + var layer = new Konva.Layer(); + stage.add(layer); + + var leftRect = new Konva.Rect({ + x: 0, + y: 0, + width: 100, + height: 100, + fill: 'red' + }); + layer.add(leftRect); + + var rightRect = new Konva.Rect({ + x: 100, + y: 0, + width: 100, + height: 100, + fill: 'blue' + }); + layer.add(rightRect); + + stage.draw(); + + var leftRectSingleClick = 0; + var rightRectSingleClick = 0; + var rightRectDblClick = 0; + + leftRect.on('click', function () { + leftRectSingleClick++; + }); + rightRect.on('click', function () { + rightRectSingleClick++; + }); + rightRect.on('dblclick', function () { + rightRectDblClick++; + }); + + stage.simulateMouseDown({ + x: 50, + y: 50 + }); + stage.simulateMouseUp({ + x: 50, + y: 50 + }); + assert.equal(leftRectSingleClick, 1, 'leftRect trigger a click'); + + stage.simulateMouseDown({ + x: 150, + y: 50 + }); + stage.simulateMouseUp({ + x: 150, + y: 50 + }); + assert.equal(rightRectSingleClick, 1, 'rightRect trigger a click'); + assert.equal( + rightRectDblClick, + 0, + 'rightRect dblClick should not trigger' + ); + }); + // ====================================================== test('test mouseleave + mouseenter with deep nesting', function() { var stage = addStage();