Checkpoint. Simplified the viewer wait some more

This commit is contained in:
houseofyin 2013-03-30 22:15:02 -04:00
parent 6a4a53acb6
commit 6d73456c66

View File

@ -154,7 +154,7 @@ QUnit.config.autostart = false;
var waitForViewer = function () { var waitForViewer = function () {
return function () { return function () {
return function (theViewer, handler, targetPropery, viewportFunctionToInspectTargetProperty, recursiveCall, count, lastDisplayRegionLeft, lastDisplayWidth) { return function (theViewer, handler, count, lastDisplayRegionLeft, lastDisplayWidth) {
var currentDisplayRegionLeft; var currentDisplayRegionLeft;
var currentDisplayWidth; var currentDisplayWidth;
if (displayRegion === null) if (displayRegion === null)
@ -162,12 +162,12 @@ QUnit.config.autostart = false;
displayRegion = $(".displayregion"); displayRegion = $(".displayregion");
} }
var propertyAchieved = false; var propertyAchieved = false;
if (recursiveCall !== true) { if (typeof count !== "number") {
count = 0; count = 0;
lastDisplayRegionLeft = null; lastDisplayRegionLeft = null;
lastDisplayWidth = null; lastDisplayWidth = null;
} }
if (typeof viewportFunctionToInspectTargetProperty === "function") { if (theViewer.drawer !== null) {
try try
{ {
currentDisplayRegionLeft = displayRegion.position().left; currentDisplayRegionLeft = displayRegion.position().left;
@ -175,31 +175,25 @@ QUnit.config.autostart = false;
propertyAchieved = equalsWithSomeVariance(lastDisplayRegionLeft, currentDisplayRegionLeft,.0001) && propertyAchieved = equalsWithSomeVariance(lastDisplayRegionLeft, currentDisplayRegionLeft,.0001) &&
equalsWithSomeVariance(lastDisplayWidth,currentDisplayWidth,.0001) && equalsWithSomeVariance(lastDisplayWidth,currentDisplayWidth,.0001) &&
equalsWithSomeVariance(theViewer.viewport.getBounds(true).x,theViewer.viewport.getBounds().x,.0001) && equalsWithSomeVariance(theViewer.viewport.getBounds(true).x,theViewer.viewport.getBounds().x,.0001) &&
equalsWithSomeVariance(theViewer.viewport.getBounds(true).y,theViewer.viewport.getBounds().y,.0001); equalsWithSomeVariance(theViewer.viewport.getBounds(true).width,theViewer.viewport.getBounds().width,.0001);
} }
catch(err) catch(err)
{ {
//Ignore. Subsequent code will try again shortly //Ignore. Subsequent code will try again shortly
} }
} }
if ((theViewer.drawer === null || theViewer.drawer.needsUpdate() || (typeof viewportFunctionToInspectTargetProperty === "function" && !propertyAchieved)) && count < 40) { if ((theViewer.drawer === null || theViewer.drawer.needsUpdate() || !propertyAchieved) && count < 40) {
count++; count++;
setTimeout(function () { setTimeout(function () {
waitForViewer(theViewer, handler, targetPropery, viewportFunctionToInspectTargetProperty, true, count, currentDisplayRegionLeft, currentDisplayWidth); waitForViewer(theViewer, handler, count, currentDisplayRegionLeft, currentDisplayWidth);
}, 100) }, 100)
} }
else { else {
try try
{
if (typeof viewportFunctionToInspectTargetProperty === "function") {
console.log( "waitForViewer:" + theViewer.drawer + ":" + theViewer.drawer.needsUpdate() + ":" + propertyAchieved + ":" + lastDisplayRegionLeft + ":" + currentDisplayRegionLeft + ":" + lastDisplayWidth + ":" + currentDisplayWidth + ":" + viewportFunctionToInspectTargetProperty.call(theViewer.viewport) + ":" + viewportFunctionToInspectTargetProperty.call(theViewer.viewport,true) + ":" + count );
}
else
{ {
console.log( "waitForViewer:" + theViewer.drawer + ":" + theViewer.drawer.needsUpdate() + ":" + propertyAchieved + ":" + lastDisplayRegionLeft + ":" + currentDisplayRegionLeft + ":" + lastDisplayWidth + ":" + currentDisplayWidth + ":" + count ); console.log( "waitForViewer:" + theViewer.drawer + ":" + theViewer.drawer.needsUpdate() + ":" + propertyAchieved + ":" + lastDisplayRegionLeft + ":" + currentDisplayRegionLeft + ":" + lastDisplayWidth + ":" + currentDisplayWidth + ":" + count );
} }
}
catch (err) catch (err)
{ {
console.log( "stophere:"); console.log( "stophere:");
@ -258,8 +252,7 @@ QUnit.config.autostart = false;
var expectedCenter = new OpenSeadragon.Point(0.5, viewer.source.aspectRatio/2).plus(dragVector); var expectedCenter = new OpenSeadragon.Point(0.5, viewer.source.aspectRatio/2).plus(dragVector);
assessNavigatorDisplayRegionAndMainViewerState(viewer, testProperties.displayRegionLocator, "After click on navigator"); assessNavigatorDisplayRegionAndMainViewerState(viewer, testProperties.displayRegionLocator, "After click on navigator");
dragNavigatorBackToCenter(); dragNavigatorBackToCenter();
//Util.simulateNavigatorDrag(viewer.navigator, dragVector.x, dragVector.y); waitForViewer(viewer, assessAfterDragNavigatorFromTopRight);
waitForViewer(viewer, assessAfterDragNavigatorFromTopRight, expectedCenter, viewer.viewport.getCenter);
}; };
var assessAfterDragOnViewer = function () { var assessAfterDragOnViewer = function () {
@ -267,15 +260,14 @@ QUnit.config.autostart = false;
var expectedCenter = new OpenSeadragon.Point(0.5, viewer.source.aspectRatio/2); var expectedCenter = new OpenSeadragon.Point(0.5, viewer.source.aspectRatio/2);
assessNavigatorDisplayRegionAndMainViewerState(viewer, testProperties.displayRegionLocator, "After pan"); assessNavigatorDisplayRegionAndMainViewerState(viewer, testProperties.displayRegionLocator, "After pan");
clickOnNavigator("TOPRIGHT"); clickOnNavigator("TOPRIGHT");
//Util.simulateNavigatorClick(viewer.navigator, navigatorCenter.x, navigatorCenter.y); waitForViewer(viewer, assessAfterClickOnNavigatorTopRight);
waitForViewer(viewer, assessAfterClickOnNavigatorTopRight, expectedCenter, viewer.viewport.getCenter);
}; };
var assessAfterZoomOnViewer = function () { var assessAfterZoomOnViewer = function () {
var target = new OpenSeadragon.Point(0.4, 0.4); var target = new OpenSeadragon.Point(0.4, 0.4);
assessNavigatorDisplayRegionAndMainViewerState(viewer, testProperties.displayRegionLocator, "After image zoom"); assessNavigatorDisplayRegionAndMainViewerState(viewer, testProperties.displayRegionLocator, "After image zoom");
viewer.viewport.panTo(target); viewer.viewport.panTo(target);
waitForViewer(viewer, assessAfterDragOnViewer, target, viewer.viewport.getCenter); waitForViewer(viewer, assessAfterDragOnViewer);
}; };
var captureInitialStateAfterOpenAndThenAct = function () { var captureInitialStateAfterOpenAndThenAct = function () {
@ -284,7 +276,7 @@ QUnit.config.autostart = false;
testProperties.determineExpectationsAndAssessNavigatorLocation(seadragonProperties, testProperties); testProperties.determineExpectationsAndAssessNavigatorLocation(seadragonProperties, testProperties);
viewer.viewport.zoomTo(viewer.viewport.getZoom() * 2); viewer.viewport.zoomTo(viewer.viewport.getZoom() * 2);
waitForViewer(viewer, assessAfterZoomOnViewer, 2, viewer.viewport.getZoom); waitForViewer(viewer, assessAfterZoomOnViewer);
}; };
var proceedOnceTheIntialImagesAreLoaded = function () { var proceedOnceTheIntialImagesAreLoaded = function () {