1
0
mirror of https://github.com/openseadragon/openseadragon.git synced 2025-03-02 13:43:14 +03:00

Added unit tests

This commit is contained in:
Mark Salsbery 2015-01-11 10:06:07 -08:00
parent ad838e7fd4
commit becd11b6ce

@ -35,6 +35,8 @@
origExitHandler, origExitHandler,
origPressHandler, origPressHandler,
origReleaseHandler, origReleaseHandler,
origAuxPressHandler,
origAuxReleaseHandler,
origMoveHandler, origMoveHandler,
origClickHandler, origClickHandler,
origDblClickHandler, origDblClickHandler,
@ -44,6 +46,10 @@
exitCount, exitCount,
pressCount, pressCount,
releaseCount, releaseCount,
rightPressCount,
rightReleaseCount,
auxPressCount,
auxReleaseCount,
moveCount, moveCount,
clickCount, clickCount,
dblClickCount, dblClickCount,
@ -94,6 +100,36 @@
return true; return true;
} }
}; };
origAuxPressHandler = tracker.auxPressHandler;
tracker.auxPressHandler = function ( event ) {
if (event.button === 0) {
pressCount++;
} else if (event.button === 1) {
auxPressCount++;
} else if (event.button === 2) {
rightPressCount++;
}
if (origAuxPressHandler) {
return origAuxPressHandler( event );
} else {
return true;
}
};
origAuxReleaseHandler = tracker.auxReleaseHandler;
tracker.auxReleaseHandler = function ( event ) {
if (event.button === 0) {
releaseCount++;
} else if (event.button === 1) {
auxReleaseCount++;
} else if (event.button === 2) {
rightReleaseCount++;
}
if (origAuxReleaseHandler) {
return origAuxReleaseHandler( event );
} else {
return true;
}
};
origMoveHandler = tracker.moveHandler; origMoveHandler = tracker.moveHandler;
tracker.moveHandler = function ( event ) { tracker.moveHandler = function ( event ) {
moveCount++; moveCount++;
@ -176,12 +212,28 @@
}; };
var simulateDown = function (x, y) { var simulateDown = function (x, y) {
simEvent.button = 0;
simEvent.clientX = offset.left + x; simEvent.clientX = offset.left + x;
simEvent.clientY = offset.top + y; simEvent.clientY = offset.top + y;
$canvas.simulate( 'mousedown', simEvent ); $canvas.simulate( 'mousedown', simEvent );
}; };
var simulateUp = function (x, y) { var simulateUp = function (x, y) {
simEvent.button = 0;
simEvent.clientX = offset.left + x;
simEvent.clientY = offset.top + y;
$canvas.simulate( 'mouseup', simEvent );
};
var simulateAuxDown = function (x, y, button) {
simEvent.button = button;
simEvent.clientX = offset.left + x;
simEvent.clientY = offset.top + y;
$canvas.simulate( 'mousedown', simEvent );
};
var simulateAuxUp = function (x, y, button) {
simEvent.button = button;
simEvent.clientX = offset.left + x; simEvent.clientX = offset.left + x;
simEvent.clientY = offset.top + y; simEvent.clientY = offset.top + y;
$canvas.simulate( 'mouseup', simEvent ); $canvas.simulate( 'mouseup', simEvent );
@ -198,6 +250,7 @@
var resetForAssessment = function () { var resetForAssessment = function () {
simEvent = { simEvent = {
button: 0,
clientX: offset.left, clientX: offset.left,
clientY: offset.top clientY: offset.top
}; };
@ -205,6 +258,10 @@
exitCount = 0; exitCount = 0;
pressCount = 0; pressCount = 0;
releaseCount = 0; releaseCount = 0;
rightPressCount = 0;
rightReleaseCount = 0;
auxPressCount = 0;
auxReleaseCount = 0;
moveCount = 0; moveCount = 0;
clickCount = 0; clickCount = 0;
dblClickCount = 0; dblClickCount = 0;
@ -231,6 +288,18 @@
if ('releaseCount' in expected) { if ('releaseCount' in expected) {
equal( releaseCount, expected.releaseCount, expected.description + 'releaseHandler event count matches expected (' + expected.releaseCount + ')' ); equal( releaseCount, expected.releaseCount, expected.description + 'releaseHandler event count matches expected (' + expected.releaseCount + ')' );
} }
if ('rightPressCount' in expected) {
equal( rightPressCount, expected.rightPressCount, expected.description + 'auxPressHandler event count (secondary/right button) matches expected (' + expected.rightPressCount + ')' );
}
if ('rightReleaseCount' in expected) {
equal( rightReleaseCount, expected.rightReleaseCount, expected.description + 'auxReleaseHandler event count (secondary/right button) matches expected (' + expected.rightReleaseCount + ')' );
}
if ('auxPressCount' in expected) {
equal( auxPressCount, expected.auxPressCount, expected.description + 'auxPressHandler event count (aux/middle button) matches expected (' + expected.auxPressCount + ')' );
}
if ('auxReleaseCount' in expected) {
equal( auxReleaseCount, expected.auxReleaseCount, expected.description + 'auxReleaseHandler event count (aux/middle button) matches expected (' + expected.auxReleaseCount + ')' );
}
if ('moveCount' in expected) { if ('moveCount' in expected) {
equal( moveCount, expected.moveCount, expected.description + 'moveHandler event count matches expected (' + expected.moveCount + ')' ); equal( moveCount, expected.moveCount, expected.description + 'moveHandler event count matches expected (' + expected.moveCount + ')' );
} }
@ -290,6 +359,10 @@
exitCount: 0, exitCount: 0,
pressCount: 0, pressCount: 0,
releaseCount: 1, releaseCount: 1,
rightPressCount: 0,
rightReleaseCount: 0,
auxPressCount: 0,
auxReleaseCount: 0,
moveCount: 20, moveCount: 20,
clickCount: 0, clickCount: 0,
dblClickCount: 0, dblClickCount: 0,
@ -315,6 +388,10 @@
exitCount: 1, exitCount: 1,
pressCount: 0, pressCount: 0,
releaseCount: 0, releaseCount: 0,
rightPressCount: 0,
rightReleaseCount: 0,
auxPressCount: 0,
auxReleaseCount: 0,
moveCount: 20, moveCount: 20,
clickCount: 0, clickCount: 0,
dblClickCount: 0, dblClickCount: 0,
@ -338,6 +415,10 @@
exitCount: 1, exitCount: 1,
pressCount: 0, pressCount: 0,
releaseCount: 0, releaseCount: 0,
rightPressCount: 0,
rightReleaseCount: 0,
auxPressCount: 0,
auxReleaseCount: 0,
moveCount: 20, moveCount: 20,
clickCount: 0, clickCount: 0,
dblClickCount: 0, dblClickCount: 0,
@ -350,7 +431,7 @@
//quickClick: false //quickClick: false
}); });
// enter-press-release-press-release-exit (double click) // enter-press-release-press-release-exit (primary/left double click)
resetForAssessment(); resetForAssessment();
simulateEnter(0, 0); simulateEnter(0, 0);
simulateDown(0, 0); simulateDown(0, 0);
@ -359,11 +440,15 @@
simulateUp(0, 0); simulateUp(0, 0);
simulateLeave(-1, -1); simulateLeave(-1, -1);
assessGestureExpectations({ assessGestureExpectations({
description: 'enter-press-release-press-release-exit (double click): ', description: 'enter-press-release-press-release-exit (primary/left double click): ',
enterCount: 1, enterCount: 1,
exitCount: 1, exitCount: 1,
pressCount: 2, pressCount: 2,
releaseCount: 2, releaseCount: 2,
rightPressCount: 0,
rightReleaseCount: 0,
auxPressCount: 0,
auxReleaseCount: 0,
moveCount: 0, moveCount: 0,
clickCount: 2, clickCount: 2,
dblClickCount: 1, dblClickCount: 1,
@ -376,18 +461,22 @@
//quickClick: true //quickClick: true
}); });
// enter-press-release-exit (click) // enter-press-release-exit (primary/left click)
resetForAssessment(); resetForAssessment();
simulateEnter(0, 0); simulateEnter(0, 0);
simulateDown(0, 0); simulateDown(0, 0);
simulateUp(0, 0); simulateUp(0, 0);
simulateLeave(-1, -1); simulateLeave(-1, -1);
assessGestureExpectations({ assessGestureExpectations({
description: 'enter-press-release-exit (click): ', description: 'enter-press-release-exit (primary/left click): ',
enterCount: 1, enterCount: 1,
exitCount: 1, exitCount: 1,
pressCount: 1, pressCount: 1,
releaseCount: 1, releaseCount: 1,
rightPressCount: 0,
rightReleaseCount: 0,
auxPressCount: 0,
auxReleaseCount: 0,
moveCount: 0, moveCount: 0,
clickCount: 1, clickCount: 1,
dblClickCount: 0, dblClickCount: 0,
@ -400,6 +489,92 @@
quickClick: true quickClick: true
}); });
// enter-auxpress-auxrelease-exit (secondary/right click)
resetForAssessment();
simulateEnter(0, 0);
simulateAuxDown(0, 0, 2);
simulateAuxUp(0, 0, 2);
simulateLeave(-1, -1);
assessGestureExpectations({
description: 'enter-auxpress-auxrelease-exit (secondary/right click): ',
enterCount: 1,
exitCount: 1,
pressCount: 0,
releaseCount: 0,
rightPressCount: 1,
rightReleaseCount: 1,
auxPressCount: 0,
auxReleaseCount: 0,
moveCount: 0,
clickCount: 0,
dblClickCount: 0,
dragCount: 0,
dragEndCount: 0,
//insideElementPressed: true,
//insideElementReleased: true,
contacts: 0,
trackedPointers: 0,
//quickClick: true
});
// enter-auxpress-auxrelease-exit (aux/middle click)
resetForAssessment();
simulateEnter(0, 0);
simulateAuxDown(0, 0, 1);
simulateAuxUp(0, 0, 1);
simulateLeave(-1, -1);
assessGestureExpectations({
description: 'enter-auxpress-auxrelease-exit (aux/middle click): ',
enterCount: 1,
exitCount: 1,
pressCount: 0,
releaseCount: 0,
rightPressCount: 0,
rightReleaseCount: 0,
auxPressCount: 1,
auxReleaseCount: 1,
moveCount: 0,
clickCount: 0,
dblClickCount: 0,
dragCount: 0,
dragEndCount: 0,
//insideElementPressed: true,
//insideElementReleased: true,
contacts: 0,
trackedPointers: 0,
//quickClick: true
});
// enter-auxpress-move-auxrelease-move-exit (secondary/right button drag, release in tracked element)
resetForAssessment();
simulateEnter(0, 0);
simulateAuxDown(0, 0, 2);
simulateMove(1, 1, 100);
simulateAuxUp(10, 10, 2);
simulateMove(-1, -1, 100);
simulateLeave(-1, -1);
assessGestureExpectations({
description: 'enter-auxpress-move-auxrelease-move-exit (secondary/right button drag, release in tracked element): ',
enterCount: 1,
exitCount: 1,
pressCount: 0,
releaseCount: 0,
rightPressCount: 1,
rightReleaseCount: 1,
auxPressCount: 0,
auxReleaseCount: 0,
moveCount: 200,
clickCount: 0,
dblClickCount: 0,
dragCount: 0,
dragEndCount: 0,
//insideElementPressed: true,
//insideElementReleased: true,
contacts: 0,
trackedPointers: 0,
//quickClick: false
});
// enter-press-move-release-move-exit (drag, release in tracked element) // enter-press-move-release-move-exit (drag, release in tracked element)
resetForAssessment(); resetForAssessment();
simulateEnter(0, 0); simulateEnter(0, 0);
@ -414,6 +589,10 @@
exitCount: 1, exitCount: 1,
pressCount: 1, pressCount: 1,
releaseCount: 1, releaseCount: 1,
rightPressCount: 0,
rightReleaseCount: 0,
auxPressCount: 0,
auxReleaseCount: 0,
moveCount: 200, moveCount: 200,
clickCount: 1, clickCount: 1,
dblClickCount: 0, dblClickCount: 0,
@ -441,6 +620,10 @@
exitCount: 1, exitCount: 1,
pressCount: 1, pressCount: 1,
releaseCount: 1, releaseCount: 1,
rightPressCount: 0,
rightReleaseCount: 0,
auxPressCount: 0,
auxReleaseCount: 0,
moveCount: 15, moveCount: 15,
clickCount: 0, clickCount: 0,
dblClickCount: 0, dblClickCount: 0,
@ -453,7 +636,6 @@
quickClick: false quickClick: false
}); });
//// enter-press-move-exit-move-release-outside (drag, release outside iframe) //// enter-press-move-exit-move-release-outside (drag, release outside iframe)
//resetForAssessment(); //resetForAssessment();
//simulateEnter(0, 0); //simulateEnter(0, 0);
@ -468,6 +650,10 @@
// exitCount: 1, // exitCount: 1,
// pressCount: 1, // pressCount: 1,
// releaseCount: 1, // releaseCount: 1,
// rightPressCount: 0,
// rightReleaseCount: 0,
// auxPressCount: 0,
// auxReleaseCount: 0,
// moveCount: 10, // moveCount: 10,
// clickCount: 0, // clickCount: 0,
// dblClickCount: 0, // dblClickCount: 0,
@ -479,6 +665,7 @@
// trackedPointers: 0, // trackedPointers: 0,
// quickClick: false // quickClick: false
//}); //});
unhookViewerHandlers(); unhookViewerHandlers();
viewer.close(); viewer.close();