summaryrefslogtreecommitdiff
path: root/misc/openlayers/tests/Handler.html
diff options
context:
space:
mode:
Diffstat (limited to 'misc/openlayers/tests/Handler.html')
-rw-r--r--misc/openlayers/tests/Handler.html265
1 files changed, 0 insertions, 265 deletions
diff --git a/misc/openlayers/tests/Handler.html b/misc/openlayers/tests/Handler.html
deleted file mode 100644
index eb266d7..0000000
--- a/misc/openlayers/tests/Handler.html
+++ /dev/null
@@ -1,265 +0,0 @@
-<html>
-<head>
- <script src="OLLoader.js"></script>
- <script type="text/javascript">
- function test_Handler_constructor(t) {
- t.plan(4);
- var map = new OpenLayers.Map('map');
- var control = new OpenLayers.Control();
- map.addControl(control);
-
- var callbacks = {foo: "bar"};
- var options = {bar: "foo"};
- var handler = new OpenLayers.Handler(control, callbacks, options);
- t.ok(handler instanceof OpenLayers.Handler,
- "new OpenLayers.Handler returns object");
- t.eq(handler.map.id, map.id,
- "constructing a handler with a map sets the map on the handler");
- t.eq(handler.callbacks.foo, callbacks.foo,
- "constructor correctly sets callbacks");
- t.eq(handler.bar, options.bar,
- "constructor correctly extends handler with options");
- }
-
- function test_Handler_activate(t) {
- t.plan(52);
- var map = new OpenLayers.Map('map');
- var control = new OpenLayers.Control();
- map.addControl(control);
-
- var events = ["mouseover", "mouseout", "mousedown",
- "mouseup", "mousemove", "click",
- "dblclick", "resize", "focus", "blur"];
-
- var handler = new OpenLayers.Handler(control);
- handler.active = true;
- var activated = handler.activate();
- t.ok(!activated,
- "activate returns false if the handler is already active");
-
- handler.active = false;
- map.events.registerPriority = function(type, obj, func) {
- var r = func();
- if(typeof r == "string") {
- // this is one of the mock handler methods
- t.ok(OpenLayers.Util.indexOf(events, type) > -1,
- "activate calls registerPriority with browser event: " + type);
- t.eq(typeof func, "function",
- "activate calls registerPriority with a function");
- t.eq(r, type,
- "activate calls registerPriority with the correct method");
- t.eq(obj["CLASS_NAME"], "OpenLayers.Handler",
- "activate calls registerPriority with the handler");
- } else {
- // this is the call with handler.setEvent as the func
- t.ok(r, "activate calls registerPriority with handler.setEvent");
- }
- }
-
- // set browser event like properties on the handler
- for(var i=0; i<events.length; ++i) {
- setMethod(events[i]);
- }
- function setMethod(key) {
- handler[key] = function() {return key};
- }
- activated = handler.activate();
- t.ok(activated,
- "activated returns true if the handler is not already active");
-
- }
-
- function test_Handler_deactivate(t) {
- t.plan(52);
- var map = new OpenLayers.Map('map', { controls: []});
- // No controls so that we don't get more thingies than we expect
- // when we actually clean up after ourselves: r5891 caused this
- // because we actually destroy things now on the navigation control.
- var control = new OpenLayers.Control();
- map.addControl(control);
-
- var events = ["mouseover", "mouseout", "mousedown",
- "mouseup", "mousemove", "click",
- "dblclick", "resize", "focus", "blur"];
-
- var handler = new OpenLayers.Handler(control);
- handler.active = false;
- var deactivated = handler.deactivate();
- t.ok(!deactivated,
- "deactivate returns false if the handler is already deactive");
-
- handler.activate();
- map.events.unregister = function(type, obj, func) {
- var r = func();
- if(typeof r == "string") {
- // this is one of the mock handler methods
- t.ok(OpenLayers.Util.indexOf(events, type) > -1,
- "deactivate calls unregister with browser event: " + type);
- t.eq(typeof func, "function",
- "activate calls unregister with a function");
- t.eq(func(), type,
- "activate calls unregister with the correct method");
- t.eq(obj["CLASS_NAME"], "OpenLayers.Handler",
- "activate calls unregister with the handler");
- } else {
- // this is the call with handler.setEvent as the func
- t.ok(r, "activate calls registerPriority with handler.setEvent");
- }
- }
-
- // set browser event like properties on the handler
- for(var i=0; i<events.length; ++i) {
- // add in a closure for key
- (function(key) {
- handler[key] = function() {return key};
- })(events[i]);
- }
- deactivated = handler.deactivate();
- t.ok(deactivated,
- "deactivated returns true if the handler is already active");
- map.events.unregister = OpenLayers.Events.prototype.unregister;
- map.destroy();
-
- }
-
- function test_Handler_setEvent(t) {
- t.plan(5);
- var map = new OpenLayers.Map('map');
- var control = new OpenLayers.Control();
- map.addControl(control);
- var handler = new OpenLayers.Handler(control);
- handler.click = function(evt) {
- }
- handler.activate();
- var testEvent = {
- xy: new OpenLayers.Pixel(Math.random(), Math.random()),
- altKey: (Math.random() > 0.5),
- shiftKey: (Math.random() > 0.5),
- ctrlKey: (Math.random() > 0.5),
- metaKey: (Math.random() > 0.5)
- }
- map.events.triggerEvent("click", testEvent);
- t.ok(handler.evt.xy.x == testEvent.xy.x &&
- handler.evt.xy.y == testEvent.xy.y,
- "handler.evt has proper xy object");
- t.eq(handler.evt.altKey, testEvent.altKey,
- "handler.evt.altKey correct");
- t.eq(handler.evt.shiftKey, testEvent.shiftKey,
- "handler.evt.shiftKey correct");
- t.eq(handler.evt.ctrlKey, testEvent.ctrlKey,
- "handler.evt.ctrlKey correct");
- t.eq(handler.evt.metaKey, testEvent.metaKey,
- "handler.evt.metaKey correct");
- }
-
- function test_Handler_destroy(t) {
- t.plan(5);
- var map = new OpenLayers.Map('map');
- var control = new OpenLayers.Control();
- map.addControl(control);
- var handler = new OpenLayers.Handler(control);
- var deactivated = false;
- handler.deactivate = function() {
- deactivated = true;
- };
- t.ok(handler.control,
- "handler has a control prior to destroy");
- t.ok(handler.map,
- "handler has a map prior to destroy");
- handler.destroy();
- t.eq(handler.control, null,
- "hanlder.control is null after destroy");
- t.eq(handler.map, null,
- "handler.map is null after destroy");
- t.ok(deactivated,
- "handler.deactivate is called by destroy");
- }
-
- function test_Handler_checkModifiers(t) {
- t.plan(62);
- var handler = new OpenLayers.Handler({});
- handler.keyMask = null;
- var proceed = handler.checkModifiers({});
- t.ok(proceed,
- "checkModifiers returns true if no keyMask on the handler");
-
-
- /**
- * Test checkModifiers for single keyMask values. The method should
- * return true if the corresponding key is associated with the
- * event. For example, if evt.shiftKey is true and handler.keyMask
- * is OpenLayers.Handler.MOD_SHIFT, checkModifiers should return
- * true.
- */
- var constants = {
- MOD_NONE: null,
- MOD_SHIFT: "shiftKey",
- MOD_CTRL: "ctrlKey",
- MOD_ALT: "altKey",
- MOD_META: "metaKey"
- }
- var proceed, evt, value, c, k;
- for(c in constants) {
- handler.keyMask = OpenLayers.Handler[c];
- // for this key mask, test all single key possibilities
- for(k in constants) {
- value = constants[k];
- evt = {};
- if(value) {
- // mimic a key down on an event
- evt[value] = true;
- }
- proceed = handler.checkModifiers(evt);
- // if k == c, proceed should be true - false otherwise
- t.eq(k == c, proceed,
- "returns " + proceed + " if keyMask is " + c +
- " and " + ((value) ? value : "no key") + " is down");
- }
- }
-
- /**
- * Test checkModifiers for double keyMask values. The method should
- * return true if the corresponding key combo is associated with the
- * event. For example, if evt.shiftKey is true and handler.keyMask
- * is OpenLayers.Handler.MOD_SHIFT, checkModifiers should return
- * true.
- */
- var constants = ["MOD_SHIFT", "MOD_CTRL", "MOD_ALT", "MOD_META"];
- var keys = ["shiftKey", "ctrlKey", "altKey", "metaKey"];
- var proceed, evt, c1, c2, k1, k2;
- for(var i=0; i<constants.length-1; ++i) {
- c1 = constants[i];
- for(var j=i+1; j<constants.length; ++j) {
- c2 = constants[j];
- handler.keyMask = OpenLayers.Handler[c1] |
- OpenLayers.Handler[c2];
- // for this key mask, test all double key possibilities
- for(var x=0; x<keys.length-1; ++x) {
- k1 = keys[x];
- for(var y=x+1; y<keys.length; ++y) {
- k2 = keys[y];
- evt = {};
- evt[k1] = true;
- evt[k2] = true;
- proceed = handler.checkModifiers(evt);
- // if the combo matches, proceed should be true
- // at this point we know that i != j and x != y
- t.eq(((i == x) || (i == y)) &&
- ((j == x) || (j == y)),
- proceed,
- "returns " + proceed + " if " + c1 + " | " + c2 +
- " and " + k1 + " + " + k2 + " is down");
- }
- }
- }
- }
-
- }
-
-
- </script>
-</head>
-<body>
- <div id="map" style="width: 1024px; height: 512px;"/>
-</body>
-</html>