diff --git a/test/components/dragBoxLayerTests.ts b/test/components/dragBoxLayerTests.ts index ddfabaaff2..354afa70ae 100644 --- a/test/components/dragBoxLayerTests.ts +++ b/test/components/dragBoxLayerTests.ts @@ -132,6 +132,34 @@ describe("Interactive Components", () => { svg.remove(); }); + it("can register two onDragStart callbacks on the same component", () => { + dbl.renderTo(svg); + + let callbackDragStart1Called = false; + let callbackDragStart2Called = false; + + let callbackDragStart1 = () => callbackDragStart1Called = true; + let callbackDragStart2 = () => callbackDragStart2Called = true; + + dbl.onDragStart(callbackDragStart1); + dbl.onDragStart(callbackDragStart2); + + let target = dbl.background(); + TestMethods.triggerFakeDragSequence(target, quarterPoint, halfPoint); + + assert.isTrue(callbackDragStart1Called, "the callback 1 for drag start was called"); + assert.isTrue(callbackDragStart2Called, "the callback 2 for drag start was called"); + + dbl.offDragStart(callbackDragStart1); + callbackDragStart1Called = false; + callbackDragStart2Called = false; + + TestMethods.triggerFakeDragSequence(target, quarterPoint, halfPoint); + assert.isFalse(callbackDragStart1Called, "the callback 1 for drag start was disconnected"); + assert.isTrue(callbackDragStart2Called, "the callback 2 for drag start is still connected"); + svg.remove(); + }); + it("calls the onDrag callback", () => { dbl.renderTo(svg); @@ -158,6 +186,34 @@ describe("Interactive Components", () => { svg.remove(); }); + it("can register two onDrag callbacks on the same component", () => { + dbl.renderTo(svg); + + let callbackDrag1Called = false; + let callbackDrag2Called = false; + + let callbackDrag1 = () => callbackDrag1Called = true; + let callbackDrag2 = () => callbackDrag2Called = true; + + dbl.onDrag(callbackDrag1); + dbl.onDrag(callbackDrag2); + + let target = dbl.background(); + TestMethods.triggerFakeDragSequence(target, quarterPoint, halfPoint); + + assert.isTrue(callbackDrag1Called, "the callback 1 for drag was called"); + assert.isTrue(callbackDrag2Called, "the callback 2 for drag was called"); + + dbl.offDrag(callbackDrag1); + callbackDrag1Called = false; + callbackDrag2Called = false; + + TestMethods.triggerFakeDragSequence(target, quarterPoint, halfPoint); + assert.isFalse(callbackDrag1Called, "the callback 1 for drag was disconnected"); + assert.isTrue(callbackDrag2Called, "the callback 2 for drag is still connected"); + svg.remove(); + }); + it("calls the onDragEnd callback", () => { dbl.renderTo(svg); @@ -183,31 +239,31 @@ describe("Interactive Components", () => { svg.remove(); }); - it("can register two callbacks for the same event", () => { + it("can register two onDragEnd callbacks on the same component", () => { dbl.renderTo(svg); - let callbackDragStart1Called = false; - let callbackDragStart2Called = false; + let callbackDragEnd1Called = false; + let callbackDragEnd2Called = false; - let callbackDragStart1 = () => callbackDragStart1Called = true; - let callbackDragStart2 = () => callbackDragStart2Called = true; + let callbackDragEnd1 = () => callbackDragEnd1Called = true; + let callbackDragEnd2 = () => callbackDragEnd2Called = true; - dbl.onDragStart(callbackDragStart1); - dbl.onDragStart(callbackDragStart2); + dbl.onDragEnd(callbackDragEnd1); + dbl.onDragEnd(callbackDragEnd2); let target = dbl.background(); TestMethods.triggerFakeDragSequence(target, quarterPoint, halfPoint); - assert.isTrue(callbackDragStart1Called, "the callback 1 for drag start was called"); - assert.isTrue(callbackDragStart2Called, "the callback 2 for drag start was called"); + assert.isTrue(callbackDragEnd1Called, "the callback 1 for drag end was called"); + assert.isTrue(callbackDragEnd2Called, "the callback 2 for drag end was called"); - dbl.offDragStart(callbackDragStart1); - callbackDragStart1Called = false; - callbackDragStart2Called = false; + dbl.offDragEnd(callbackDragEnd1); + callbackDragEnd1Called = false; + callbackDragEnd2Called = false; TestMethods.triggerFakeDragSequence(target, quarterPoint, halfPoint); - assert.isFalse(callbackDragStart1Called, "the callback 1 for drag start was disconnected"); - assert.isTrue(callbackDragStart2Called, "the callback 2 for drag start is still connected"); + assert.isFalse(callbackDragEnd1Called, "the callback 1 for drag end was disconnected"); + assert.isTrue(callbackDragEnd2Called, "the callback 2 for drag end is still connected"); svg.remove(); });