From 9f39f7bf0349baec990bd2d38d428e76531872c7 Mon Sep 17 00:00:00 2001
From: nein09 <nein09@nein09.com>
Date: Mon, 4 Dec 2017 17:31:14 -0800
Subject: [PATCH] Convert events tests

---
 test/helpers/test.js   |  22 ++--
 test/modules/basic.js  |   4 +-
 test/modules/events.js | 253 +++++++++++++++++++++--------------------
 3 files changed, 143 insertions(+), 136 deletions(-)

diff --git a/test/helpers/test.js b/test/helpers/test.js
index 5d712e71..1c4b4a9f 100644
--- a/test/helpers/test.js
+++ b/test/helpers/test.js
@@ -1,4 +1,4 @@
-/* global QUnit, $, Util */
+/* global $, Util */
 
 (function () {
 
@@ -64,25 +64,25 @@
         },
 
         // ----------
-        assessNumericValue: function ( value1, value2, variance, message, assert ) {
+        assessNumericValue: function ( assert, value1, value2, variance, message ) {
             assert.ok( Util.equalsWithVariance( value1, value2, variance ), message + " Expected:" + value1 + " Found: " + value2 + " Variance: " + variance );
         },
 
         // ----------
-        assertPointsEquals: function (pointA, pointB, precision, message, assert) {
-            Util.assessNumericValue(pointA.x, pointB.x, precision, message + " x: ", assert);
-            Util.assessNumericValue(pointA.y, pointB.y, precision, message + " y: ", assert);
+        assertPointsEquals: function (assert, pointA, pointB, precision, message) {
+            Util.assessNumericValue(assert, pointA.x, pointB.x, precision, message + " x: ");
+            Util.assessNumericValue(assert, pointA.y, pointB.y, precision, message + " y: ");
         },
 
         // ----------
-        assertRectangleEquals: function (rectA, rectB, precision, message) {
-            Util.assessNumericValue(rectA.x, rectB.x, precision, message + " x: ");
-            Util.assessNumericValue(rectA.y, rectB.y, precision, message + " y: ");
-            Util.assessNumericValue(rectA.width, rectB.width, precision,
+        assertRectangleEquals: function (assert, rectA, rectB, precision, message) {
+            Util.assessNumericValue(assert, rectA.x, rectB.x, precision, message + " x: ");
+            Util.assessNumericValue(assert, rectA.y, rectB.y, precision, message + " y: ");
+            Util.assessNumericValue(assert, rectA.width, rectB.width, precision,
                 message + " width: ");
-            Util.assessNumericValue(rectA.height, rectB.height, precision,
+            Util.assessNumericValue(assert, rectA.height, rectB.height, precision,
                 message + " height: ");
-            Util.assessNumericValue(rectA.degrees, rectB.degrees, precision,
+            Util.assessNumericValue(assert, rectA.degrees, rectB.degrees, precision,
                 message + " degrees: ");
         },
 
diff --git a/test/modules/basic.js b/test/modules/basic.js
index 2f62a07d..257246db 100644
--- a/test/modules/basic.js
+++ b/test/modules/basic.js
@@ -97,8 +97,8 @@
             var panHandler = function() {
                 viewer.removeHandler('animation-finish', panHandler);
                 center = viewport.getCenter();
-                Util.assessNumericValue(center.x, 0.1, 0.00001, 'panned horizontally', assert);
-                Util.assessNumericValue(center.y, 0.1, 0.00001, 'panned vertically', assert);
+                Util.assessNumericValue(assert, center.x, 0.1, 0.00001, 'panned horizontally');
+                Util.assessNumericValue(assert, center.y, 0.1, 0.00001, 'panned vertically');
                 done();
             };
 
diff --git a/test/modules/events.js b/test/modules/events.js
index af226a44..849e86f9 100644
--- a/test/modules/events.js
+++ b/test/modules/events.js
@@ -1,11 +1,11 @@
-/* global module, asyncTest, $, ok, equal, notEqual, start, test, TouchUtil, Util, testLog */
+/* global QUnit, $, TouchUtil, Util, testLog */
 
 (function () {
     var viewer;
 
-    module( 'Events', {
-        setup: function () {
-            var example = $( '<div id="eventsexample"></div>' ).appendTo( "#qunit-fixture" );
+    QUnit.module( 'Events', {
+        beforeEach: function () {
+            $( '<div id="eventsexample"></div>' ).appendTo( "#qunit-fixture" );
 
             testLog.reset();
 
@@ -15,7 +15,7 @@
                 springStiffness: 100 // Faster animation = faster tests
             } );
         },
-        teardown: function () {
+        afterEach: function () {
             if ( viewer && viewer.close ) {
                 viewer.close();
             }
@@ -25,12 +25,12 @@
     } );
 
     // ----------
-    asyncTest( 'MouseTracker: mouse gestures', function () {
+    QUnit.test( 'MouseTracker: mouse gestures', function (assert) {
+        var done = assert.async();
         var $canvas = $( viewer.element ).find( '.openseadragon-canvas' ).not( '.navigator .openseadragon-canvas' ),
             simEvent = {},
             offset = $canvas.offset(),
             tracker = viewer.innerTracker,
-            intervalId,
             origEnterHandler,
             origExitHandler,
             origPressHandler,
@@ -278,58 +278,58 @@
         var assessGestureExpectations = function (expected) {
             var pointersList = tracker.getActivePointersListByType('mouse');
             if ('enterCount' in expected) {
-                equal( enterCount, expected.enterCount, expected.description + 'enterHandler event count matches expected (' + expected.enterCount + ')' );
+                assert.equal( enterCount, expected.enterCount, expected.description + 'enterHandler event count matches expected (' + expected.enterCount + ')' );
             }
             if ('exitCount' in expected) {
-                equal( exitCount, expected.exitCount, expected.description + 'exitHandler event count matches expected (' + expected.exitCount + ')' );
+                assert.equal( exitCount, expected.exitCount, expected.description + 'exitHandler event count matches expected (' + expected.exitCount + ')' );
             }
             if ('pressCount' in expected) {
-                equal( pressCount, expected.pressCount, expected.description + 'pressHandler event count matches expected (' + expected.pressCount + ')' );
+                assert.equal( pressCount, expected.pressCount, expected.description + 'pressHandler event count matches expected (' + expected.pressCount + ')' );
             }
             if ('releaseCount' in expected) {
-                equal( releaseCount, expected.releaseCount, expected.description + 'releaseHandler event count matches expected (' + expected.releaseCount + ')' );
+                assert.equal( releaseCount, expected.releaseCount, expected.description + 'releaseHandler event count matches expected (' + expected.releaseCount + ')' );
             }
             if ('rightPressCount' in expected) {
-                equal( rightPressCount, expected.rightPressCount, expected.description + 'nonPrimaryPressHandler event count (secondary/right button) matches expected (' + expected.rightPressCount + ')' );
+                assert.equal( rightPressCount, expected.rightPressCount, expected.description + 'nonPrimaryPressHandler event count (secondary/right button) matches expected (' + expected.rightPressCount + ')' );
             }
             if ('rightReleaseCount' in expected) {
-                equal( rightReleaseCount, expected.rightReleaseCount, expected.description + 'nonPrimaryReleaseHandler event count (secondary/right button) matches expected (' + expected.rightReleaseCount + ')' );
+                assert.equal( rightReleaseCount, expected.rightReleaseCount, expected.description + 'nonPrimaryReleaseHandler event count (secondary/right button) matches expected (' + expected.rightReleaseCount + ')' );
             }
             if ('middlePressCount' in expected) {
-                equal( middlePressCount, expected.middlePressCount, expected.description + 'nonPrimaryPressHandler event count (aux/middle button) matches expected (' + expected.middlePressCount + ')' );
+                assert.equal( middlePressCount, expected.middlePressCount, expected.description + 'nonPrimaryPressHandler event count (aux/middle button) matches expected (' + expected.middlePressCount + ')' );
             }
             if ('middleReleaseCount' in expected) {
-                equal( middleReleaseCount, expected.middleReleaseCount, expected.description + 'nonPrimaryReleaseHandler event count (aux/middle button) matches expected (' + expected.middleReleaseCount + ')' );
+                assert.equal( middleReleaseCount, expected.middleReleaseCount, expected.description + 'nonPrimaryReleaseHandler event count (aux/middle button) matches expected (' + expected.middleReleaseCount + ')' );
             }
             if ('moveCount' in expected) {
-                equal( moveCount, expected.moveCount, expected.description + 'moveHandler event count matches expected (' + expected.moveCount + ')' );
+                assert.equal( moveCount, expected.moveCount, expected.description + 'moveHandler event count matches expected (' + expected.moveCount + ')' );
             }
             if ('clickCount' in expected) {
-                equal( clickCount, expected.clickCount, expected.description + 'clickHandler event count matches expected (' + expected.clickCount + ')' );
+                assert.equal( clickCount, expected.clickCount, expected.description + 'clickHandler event count matches expected (' + expected.clickCount + ')' );
             }
             if ('dblClickCount' in expected) {
-                equal( dblClickCount, expected.dblClickCount, expected.description + 'dblClickHandler event count matches expected (' + expected.dblClickCount + ')' );
+                assert.equal( dblClickCount, expected.dblClickCount, expected.description + 'dblClickHandler event count matches expected (' + expected.dblClickCount + ')' );
             }
             if ('dragCount' in expected) {
-                equal( dragCount, expected.dragCount, expected.description + 'dragHandler event count matches expected (' + expected.dragCount + ')' );
+                assert.equal( dragCount, expected.dragCount, expected.description + 'dragHandler event count matches expected (' + expected.dragCount + ')' );
             }
             if ('dragEndCount' in expected) {
-                equal( dragEndCount, expected.dragEndCount, expected.description + 'dragEndHandler event count matches expected (' + expected.dragEndCount + ')' );
+                assert.equal( dragEndCount, expected.dragEndCount, expected.description + 'dragEndHandler event count matches expected (' + expected.dragEndCount + ')' );
             }
             if ('insideElementPressed' in expected) {
-                equal( insideElementPressed, expected.insideElementPressed, expected.description + 'releaseHandler event.insideElementPressed matches expected (' + expected.insideElementPressed + ')' );
+                assert.equal( insideElementPressed, expected.insideElementPressed, expected.description + 'releaseHandler event.insideElementPressed matches expected (' + expected.insideElementPressed + ')' );
             }
             if ('insideElementReleased' in expected) {
-                equal( insideElementReleased, expected.insideElementReleased, expected.description + 'releaseHandler event.insideElementReleased matches expected (' + expected.insideElementReleased + ')' );
+                assert.equal( insideElementReleased, expected.insideElementReleased, expected.description + 'releaseHandler event.insideElementReleased matches expected (' + expected.insideElementReleased + ')' );
             }
             if ('contacts' in expected) {
-                equal( pointersList.contacts, expected.contacts, expected.description + 'Remaining pointer contact count matches expected (' + expected.contacts + ')' );
+                assert.equal( pointersList.contacts, expected.contacts, expected.description + 'Remaining pointer contact count matches expected (' + expected.contacts + ')' );
             }
             if ('trackedPointers' in expected) {
-                equal( pointersList.getLength(), expected.trackedPointers, expected.description + 'Remaining tracked pointer count matches expected (' + expected.trackedPointers + ')' );
+                assert.equal( pointersList.getLength(), expected.trackedPointers, expected.description + 'Remaining tracked pointer count matches expected (' + expected.trackedPointers + ')' );
             }
             if ('quickClick' in expected) {
-                equal( quickClick, expected.quickClick, expected.description + 'clickHandler event.quick matches expected (' + expected.quickClick + ')' );
+                assert.equal( quickClick, expected.quickClick, expected.description + 'clickHandler event.quick matches expected (' + expected.quickClick + ')' );
             }
             if ('speed' in expected) {
                 Util.assessNumericValue(expected.speed, speed, 1.0, expected.description + 'Drag speed ');
@@ -340,8 +340,6 @@
         };
 
         var onOpen = function ( event ) {
-            var timeStart,
-                timeElapsed;
 
             viewer.removeHandler( 'open', onOpen );
 
@@ -670,7 +668,7 @@
             unhookViewerHandlers();
 
             viewer.close();
-            start();
+            done();
         };
 
         viewer.addHandler( 'open', onOpen );
@@ -679,7 +677,8 @@
 
     // ----------
     if ('TouchEvent' in window) {
-        asyncTest( 'MouseTracker: touch events', function () {
+        QUnit.test( 'MouseTracker: touch events', function (assert) {
+            var done = assert.async();
             var $canvas = $( viewer.element ).find( '.openseadragon-canvas' ).not( '.navigator .openseadragon-canvas' ),
                 tracker = viewer.innerTracker,
                 touches;
@@ -692,13 +691,13 @@
             var assessTouchExpectations = function ( expected ) {
                 var pointersList = tracker.getActivePointersListByType( 'touch' );
                 if ('captureCount' in expected) {
-                    equal( pointersList.captureCount, expected.captureCount, expected.description + 'Pointer capture count matches expected (' + expected.captureCount + ')' );
+                    assert.equal( pointersList.captureCount, expected.captureCount, expected.description + 'Pointer capture count matches expected (' + expected.captureCount + ')' );
                 }
                 if ('contacts' in expected) {
-                    equal( pointersList.contacts, expected.contacts, expected.description + 'Pointer contact count matches expected (' + expected.contacts + ')' );
+                    assert.equal( pointersList.contacts, expected.contacts, expected.description + 'Pointer contact count matches expected (' + expected.contacts + ')' );
                 }
                 if ('trackedPointers' in expected) {
-                    equal( pointersList.getLength(), expected.trackedPointers, expected.description + 'Tracked pointer count matches expected (' + expected.trackedPointers + ')' );
+                    assert.equal( pointersList.getLength(), expected.trackedPointers, expected.description + 'Tracked pointer count matches expected (' + expected.trackedPointers + ')' );
                 }
             };
 
@@ -745,7 +744,7 @@
 
                 TouchUtil.resetTracker( tracker );
                 viewer.close();
-                start();
+                done();
             };
 
             viewer.addHandler( 'open', onOpen );
@@ -754,7 +753,8 @@
     }
 
     // ----------
-    asyncTest('Viewer: preventDefaultAction', function() {
+    QUnit.test('Viewer: preventDefaultAction', function(assert) {
+        var done = assert.async();
         var $canvas = $(viewer.element).find('.openseadragon-canvas')
             .not('.navigator .openseadragon-canvas');
         var tracker = viewer.innerTracker;
@@ -805,9 +805,9 @@
 
             var zoom = viewer.viewport.getZoom();
             var bounds = viewer.viewport.getBounds();
-            Util.assessNumericValue(zoom, originalZoom, epsilon,
+            Util.assessNumericValue(assert, zoom, originalZoom, epsilon,
                 "Zoom should be prevented");
-            Util.assertRectangleEquals(bounds, originalBounds, epsilon,
+            Util.assertRectangleEquals(assert, bounds, originalBounds, epsilon,
                 'Pan should be prevented');
 
             tracker.clickHandler = origClickHandler;
@@ -815,18 +815,19 @@
 
             simulateClickAndDrag();
 
-            var zoom = viewer.viewport.getZoom();
-            var bounds = viewer.viewport.getBounds();
-            Util.assessNumericValue(zoom, 0.002, epsilon,
+            zoom = viewer.viewport.getZoom();
+            bounds = viewer.viewport.getBounds();
+            Util.assessNumericValue(assert, zoom, 0.002, epsilon,
                 "Zoom should not be prevented");
             Util.assertRectangleEquals(
+                assert,
                 new OpenSeadragon.Rect(-249.5, -0.25, 500, 0.5),
                 bounds,
                 epsilon,
                 'Pan should not be prevented');
 
             viewer.close();
-            start();
+            done();
         };
 
         viewer.addHandler('open', onOpen);
@@ -834,7 +835,8 @@
     });
 
     // ----------
-    asyncTest('Viewer: preventDefaultAction in dblClickHandler', function() {
+    QUnit.test('Viewer: preventDefaultAction in dblClickHandler', function(assert) {
+        var done = assert.async();
         var tracker = viewer.innerTracker;
         var epsilon = 0.0000001;
 
@@ -863,7 +865,7 @@
             simulateDblTap();
 
             var zoom = viewer.viewport.getZoom();
-            Util.assessNumericValue(originalZoom, zoom, epsilon,
+            Util.assessNumericValue(assert, originalZoom, zoom, epsilon,
                 "Zoom on double tap should be prevented");
 
             // Reset event handler to original
@@ -872,19 +874,19 @@
             simulateDblTap();
             originalZoom = originalZoom * viewer.zoomPerClick;
 
-            var zoom = viewer.viewport.getZoom();
-            Util.assessNumericValue(originalZoom, zoom, epsilon,
+            zoom = viewer.viewport.getZoom();
+            Util.assessNumericValue(assert, originalZoom, zoom, epsilon,
                 "Zoom on double tap should not be prevented");
 
 
             var dblClickHandler = function(event) {
                 event.preventDefaultAction = true;
-            }
+            };
 
             viewer.addHandler('canvas-double-click', dblClickHandler);
 
-            var zoom = viewer.viewport.getZoom();
-            Util.assessNumericValue(originalZoom, zoom, epsilon,
+            zoom = viewer.viewport.getZoom();
+            Util.assessNumericValue(assert, originalZoom, zoom, epsilon,
                 "Zoom on double tap should be prevented");
 
             // Remove custom event handler
@@ -893,13 +895,13 @@
             simulateDblTap();
             originalZoom = originalZoom * viewer.zoomPerClick;
 
-            var zoom = viewer.viewport.getZoom();
-            Util.assessNumericValue(originalZoom, zoom, epsilon,
+            zoom = viewer.viewport.getZoom();
+            Util.assessNumericValue(assert, originalZoom, zoom, epsilon,
                 "Zoom on double tap should not be prevented");
 
             TouchUtil.resetTracker(tracker);
             viewer.close();
-            start();
+            done();
         };
 
         viewer.addHandler('open', onOpen);
@@ -907,7 +909,8 @@
     });
 
     // ----------
-    asyncTest( 'EventSource/MouseTracker/Viewer: event.originalEvent event.userData canvas-drag canvas-drag-end canvas-release canvas-click', function () {
+    QUnit.test( 'EventSource/MouseTracker/Viewer: event.originalEvent event.userData canvas-drag canvas-drag-end canvas-release canvas-click', function (assert) {
+        var done = assert.async();
         var $canvas = $( viewer.element ).find( '.openseadragon-canvas' ).not( '.navigator .openseadragon-canvas' ),
             mouseTracker = null,
             userData = { item1: 'Test user data', item2: Math.random() },
@@ -1055,18 +1058,18 @@
             viewer.removeHandler( 'canvas-release', onEventSourceRelease );
             viewer.removeHandler( 'canvas-click', onEventSourceClick );
 
-            equal( dragsHandledEventSource, dragCount, "'canvas-drag' event count matches 'mousemove' event count (" + dragCount + ")" );
-            equal( dragEndsHandledEventSource, dragEndsExpected, "'canvas-drag-end' event count matches expected (" + dragEndsExpected + ")" );
-            equal( releasesHandledEventSource, releasesExpected, "'canvas-release' event count matches expected (" + releasesExpected + ")" );
-            equal( clicksHandledEventSource, releasesExpected, "'canvas-click' event count matches expected (" + releasesExpected + ")" );
-            equal( originalEventsPassedViewer, eventsHandledViewer, "Original event received count matches expected (" + eventsHandledViewer + ")" );
+            assert.equal( dragsHandledEventSource, dragCount, "'canvas-drag' event count matches 'mousemove' event count (" + dragCount + ")" );
+            assert.equal( dragEndsHandledEventSource, dragEndsExpected, "'canvas-drag-end' event count matches expected (" + dragEndsExpected + ")" );
+            assert.equal( releasesHandledEventSource, releasesExpected, "'canvas-release' event count matches expected (" + releasesExpected + ")" );
+            assert.equal( clicksHandledEventSource, releasesExpected, "'canvas-click' event count matches expected (" + releasesExpected + ")" );
+            assert.equal( originalEventsPassedViewer, eventsHandledViewer, "Original event received count matches expected (" + eventsHandledViewer + ")" );
 
-            equal( eventSourcePassedMouseTracker, eventsHandledMouseTracker, "Event source received count matches expected (" + eventsHandledMouseTracker + ")" );
-            equal( originalEventsPassedMouseTracker, eventsHandledMouseTracker, "Original event received count matches expected (" + eventsHandledMouseTracker + ")" );
-            deepEqual( event.userData, originalUserData, 'MouseTracker userData was untouched' );
+            assert.equal( eventSourcePassedMouseTracker, eventsHandledMouseTracker, "Event source received count matches expected (" + eventsHandledMouseTracker + ")" );
+            assert.equal( originalEventsPassedMouseTracker, eventsHandledMouseTracker, "Original event received count matches expected (" + eventsHandledMouseTracker + ")" );
+            assert.deepEqual( event.userData, originalUserData, 'MouseTracker userData was untouched' );
 
             viewer.close();
-            start();
+            done();
         };
 
         viewer.addHandler( 'open', onOpen );
@@ -1074,16 +1077,17 @@
     } );
 
     // ----------
-    asyncTest( 'EventSource: addHandler without userData', function () {
+    QUnit.test( 'EventSource: addHandler without userData', function (assert) {
+        var done = assert.async();
         var openHandler = function ( event ) {
             viewer.removeHandler( 'open', openHandler );
-            ok( event, 'Event handler received event data' );
+            assert.ok( event, 'Event handler received event data' );
             if ( event ) {
-                strictEqual( event.eventSource, viewer, 'eventSource sent, eventSource is viewer' );
-                strictEqual( event.userData, null, 'User data defaulted to null' );
+                assert.strictEqual( event.eventSource, viewer, 'eventSource sent, eventSource is viewer' );
+                assert.strictEqual( event.userData, null, 'User data defaulted to null' );
             }
             viewer.close();
-            start();
+            done();
         };
 
         viewer.addHandler( 'open', openHandler );
@@ -1091,19 +1095,20 @@
     } );
 
     // ----------
-    asyncTest( 'EventSource: addHandler with userData', function () {
+    QUnit.test( 'EventSource: addHandler with userData', function (assert) {
+        var done = assert.async();
         var userData = { item1: 'Test user data', item2: Math.random() },
             originalUserData = { item1: userData.item1, item2: userData.item2 };
 
         var openHandler = function ( event ) {
             viewer.removeHandler( 'open', openHandler );
-            ok( event, 'Event handler received event data' );
-            ok( event && event.userData, 'Event handler received user data' );
+            assert.ok( event, 'Event handler received event data' );
+            assert.ok( event && event.userData, 'Event handler received user data' );
             if ( event && event.userData ) {
-                deepEqual( event.userData, originalUserData, 'User data was untouched' );
+                assert.deepEqual( event.userData, originalUserData, 'User data was untouched' );
             }
             viewer.close();
-            start();
+            done();
         };
 
         viewer.addHandler( 'open', openHandler, userData );
@@ -1111,7 +1116,7 @@
     } );
 
     // ----------
-    test('EventSource: addOnceHandler', function() {
+    QUnit.test('EventSource: addOnceHandler', function(assert) {
         var eventSource = new OpenSeadragon.EventSource();
         var userData = 'data';
         var eventData = {
@@ -1120,23 +1125,23 @@
         var handlerCalledCount = 0;
         eventSource.addOnceHandler('test-event', function(event) {
             handlerCalledCount++;
-            strictEqual(event.foo, eventData.foo,
+            assert.strictEqual(event.foo, eventData.foo,
                 'Event data should be transmitted to the event.');
-            strictEqual(event.userData, userData,
+            assert.strictEqual(event.userData, userData,
                 'User data should be transmitted to the event.');
         }, userData);
-        strictEqual(0, handlerCalledCount,
+        assert.strictEqual(0, handlerCalledCount,
             'Handler should not have been called yet.');
         eventSource.raiseEvent('test-event', eventData);
-        strictEqual(1, handlerCalledCount,
+        assert.strictEqual(1, handlerCalledCount,
             'Handler should have been called once.');
         eventSource.raiseEvent('test-event', eventData);
-        strictEqual(1, handlerCalledCount,
+        assert.strictEqual(1, handlerCalledCount,
             'Handler should still have been called once.');
     });
 
     // ----------
-    test('EventSource: addOnceHandler 2 times', function() {
+    QUnit.test('EventSource: addOnceHandler 2 times', function(assert) {
         var eventSource = new OpenSeadragon.EventSource();
         var userData = 'data';
         var eventData = {
@@ -1145,37 +1150,38 @@
         var handlerCalledCount = 0;
         eventSource.addOnceHandler('test-event', function(event) {
             handlerCalledCount++;
-            strictEqual(event.foo, eventData.foo,
+            assert.strictEqual(event.foo, eventData.foo,
                 'Event data should be transmitted to the event.');
-            strictEqual(event.userData, userData,
+            assert.strictEqual(event.userData, userData,
                 'User data should be transmitted to the event.');
         }, userData, 2);
-        strictEqual(0, handlerCalledCount,
+        assert.strictEqual(0, handlerCalledCount,
             'Handler should not have been called yet.');
         eventSource.raiseEvent('test-event', eventData);
-        strictEqual(1, handlerCalledCount,
+        assert.strictEqual(1, handlerCalledCount,
             'Handler should have been called once.');
         eventSource.raiseEvent('test-event', eventData);
-        strictEqual(2, handlerCalledCount,
+        assert.strictEqual(2, handlerCalledCount,
             'Handler should have been called twice.');
         eventSource.raiseEvent('test-event', eventData);
-        strictEqual(2, handlerCalledCount,
+        assert.strictEqual(2, handlerCalledCount,
             'Handler should still have been called twice.');
     });
 
     // ----------
-    asyncTest( 'Viewer: tile-drawing event', function () {
+    QUnit.test( 'Viewer: tile-drawing event', function (assert) {
+        var done = assert.async();
         var tileDrawing = function ( event ) {
             viewer.removeHandler( 'tile-drawing', tileDrawing );
-            ok( event, 'Event handler should be invoked' );
+            assert.ok( event, 'Event handler should be invoked' );
             if ( event ) {
                 // Make sure we have the expected elements set
-                ok(event.context, "Context should be set");
-                ok(event.tile, "Tile should be set");
-                ok(event.rendered, "Rendered should be set");
+                assert.ok(event.context, "Context should be set");
+                assert.ok(event.tile, "Tile should be set");
+                assert.ok(event.rendered, "Rendered should be set");
             }
             viewer.close();
-            start();
+            done();
         };
 
         viewer.addHandler( 'tile-drawing', tileDrawing );
@@ -1183,17 +1189,17 @@
     } );
 
     // tile-loaded event tests
-    asyncTest( 'Viewer: tile-loaded event without callback.', function () {
-
+    QUnit.test( 'Viewer: tile-loaded event without callback.', function (assert) {
+        var done = assert.async();
         function tileLoaded ( event ) {
             viewer.removeHandler( 'tile-loaded', tileLoaded);
             var tile = event.tile;
-            ok( tile.loading, "The tile should be marked as loading.");
-            notOk( tile.loaded, "The tile should not be marked as loaded.");
+            assert.ok( tile.loading, "The tile should be marked as loading.");
+            assert.notOk( tile.loaded, "The tile should not be marked as loaded.");
             setTimeout(function() {
-                notOk( tile.loading, "The tile should not be marked as loading.");
-                ok( tile.loaded, "The tile should be marked as loaded.");
-                start();
+                assert.notOk( tile.loading, "The tile should not be marked as loading.");
+                assert.ok( tile.loaded, "The tile should be marked as loaded.");
+                done();
             }, 0);
         }
 
@@ -1201,22 +1207,22 @@
         viewer.open( '/test/data/testpattern.dzi' );
     } );
 
-    asyncTest( 'Viewer: tile-loaded event with 1 callback.', function () {
-
+    QUnit.test( 'Viewer: tile-loaded event with 1 callback.', function (assert) {
+        var done = assert.async();
         function tileLoaded ( event ) {
             viewer.removeHandler( 'tile-loaded', tileLoaded);
             var tile = event.tile;
             var callback = event.getCompletionCallback();
-            ok( tile.loading, "The tile should be marked as loading.");
-            notOk( tile.loaded, "The tile should not be marked as loaded.");
-            ok( callback, "The event should have a callback.");
+            assert.ok( tile.loading, "The tile should be marked as loading.");
+            assert.notOk( tile.loaded, "The tile should not be marked as loaded.");
+            assert.ok( callback, "The event should have a callback.");
             setTimeout(function() {
-                ok( tile.loading, "The tile should be marked as loading.");
-                notOk( tile.loaded, "The tile should not be marked as loaded.");
+                assert.ok( tile.loading, "The tile should be marked as loading.");
+                assert.notOk( tile.loaded, "The tile should not be marked as loaded.");
                 callback();
-                notOk( tile.loading, "The tile should not be marked as loading.");
-                ok( tile.loaded, "The tile should be marked as loaded.");
-                start();
+                assert.notOk( tile.loading, "The tile should not be marked as loading.");
+                assert.ok( tile.loaded, "The tile should be marked as loaded.");
+                done();
             }, 0);
         }
 
@@ -1224,28 +1230,28 @@
         viewer.open( '/test/data/testpattern.dzi' );
     } );
 
-    asyncTest( 'Viewer: tile-loaded event with 2 callbacks.', function () {
-
+    QUnit.test( 'Viewer: tile-loaded event with 2 callbacks.', function (assert) {
+        var done = assert.async();
         function tileLoaded ( event ) {
             viewer.removeHandler( 'tile-loaded', tileLoaded);
             var tile = event.tile;
             var callback1 = event.getCompletionCallback();
             var callback2 = event.getCompletionCallback();
-            ok( tile.loading, "The tile should be marked as loading.");
-            notOk( tile.loaded, "The tile should not be marked as loaded.");
+            assert.ok( tile.loading, "The tile should be marked as loading.");
+            assert.notOk( tile.loaded, "The tile should not be marked as loaded.");
             setTimeout(function() {
-                ok( tile.loading, "The tile should be marked as loading.");
-                notOk( tile.loaded, "The tile should not be marked as loaded.");
+                assert.ok( tile.loading, "The tile should be marked as loading.");
+                assert.notOk( tile.loaded, "The tile should not be marked as loaded.");
                 callback1();
-                ok( tile.loading, "The tile should be marked as loading.");
-                notOk( tile.loaded, "The tile should not be marked as loaded.");
+                assert.ok( tile.loading, "The tile should be marked as loading.");
+                assert.notOk( tile.loaded, "The tile should not be marked as loaded.");
                 setTimeout(function() {
-                    ok( tile.loading, "The tile should be marked as loading.");
-                    notOk( tile.loaded, "The tile should not be marked as loaded.");
+                    assert.ok( tile.loading, "The tile should be marked as loading.");
+                    assert.notOk( tile.loaded, "The tile should not be marked as loaded.");
                     callback2();
-                    notOk( tile.loading, "The tile should not be marked as loading.");
-                    ok( tile.loaded, "The tile should be marked as loaded.");
-                    start();
+                    assert.notOk( tile.loading, "The tile should not be marked as loading.");
+                    assert.ok( tile.loaded, "The tile should be marked as loaded.");
+                    done();
                 }, 0);
             }, 0);
         }
@@ -1254,9 +1260,10 @@
         viewer.open( '/test/data/testpattern.dzi' );
     } );
 
-    asyncTest( 'Viewer: tile-unloaded event.', function() {
+    QUnit.test( 'Viewer: tile-unloaded event.', function(assert) {
         var tiledImage;
         var tile;
+        var done = assert.async();
 
         function tileLoaded( event ) {
             viewer.removeHandler( 'tile-loaded', tileLoaded);
@@ -1269,11 +1276,11 @@
 
         function tileUnloaded( event ) {
             viewer.removeHandler( 'tile-unloaded', tileUnloaded );
-            equal( tile, event.tile,
+            assert.equal( tile, event.tile,
                 "The unloaded tile should be the same than the loaded one." );
-            equal( tiledImage, event.tiledImage,
+            assert.equal( tiledImage, event.tiledImage,
                 "The tiledImage of the unloaded tile should be the same than the one of the loaded one." );
-            start();
+            done();
         }
 
         viewer.addHandler( 'tile-loaded', tileLoaded );