Skip to content

Commit

Permalink
[refactorDragBoxLayer] Added tests for multiple interactions on the s…
Browse files Browse the repository at this point in the history
…ame component on all drag events
  • Loading branch information
aicioara committed Aug 24, 2015
1 parent d8d4e2f commit eae72ca
Showing 1 changed file with 70 additions and 14 deletions.
84 changes: 70 additions & 14 deletions test/components/dragBoxLayerTests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand All @@ -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);

Expand All @@ -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();
});

Expand Down

0 comments on commit eae72ca

Please sign in to comment.