diff --git a/tests/test_Handler.html b/tests/test_Handler.html
index ce4bf67e03..04c76005e1 100644
--- a/tests/test_Handler.html
+++ b/tests/test_Handler.html
@@ -121,31 +121,31 @@
}
function test_Handler_checkModifiers(t) {
- t.plan(17);
+ t.plan(26);
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"
}
-
- /**
- * Test checkModifiers for single keyMask values. The method should
- * return false 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 proceed, evt, value, c, k;
for(c in constants) {
handler.keyMask = OpenLayers.Handler[c];
- // for this key mask, we want to test all single key possibilities
+ // for this key mask, test all single key possibilities
for(k in constants) {
value = constants[k];
evt = {};
@@ -160,6 +160,43 @@
" 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"];
+ var keys = ["shiftKey", "ctrlKey", "altKey"];
+ var proceed, evt, c1, c2, k1, k2;
+ for(var i=0; i