Index: LayoutTests/fast/svg/script-tests/animation-events.js |
diff --git a/LayoutTests/fast/dom/script-tests/event-handlers.js b/LayoutTests/fast/svg/script-tests/animation-events.js |
similarity index 52% |
copy from LayoutTests/fast/dom/script-tests/event-handlers.js |
copy to LayoutTests/fast/svg/script-tests/animation-events.js |
index d3d724999ab70da9b3e2d0b7a446a5d61c7084b7..35a859f2f6074e72df6d941c3c29c55b0c4f4950 100644 |
--- a/LayoutTests/fast/dom/script-tests/event-handlers.js |
+++ b/LayoutTests/fast/svg/script-tests/animation-events.js |
@@ -1,37 +1,21 @@ |
function getObject(interface) { |
switch(interface) { |
- case "Element": |
- var e = document.createElementNS("http://example.com/", "example"); |
- assert_true(e instanceof Element); |
- assert_false(e instanceof HTMLElement); |
- assert_false(e instanceof SVGElement); |
+ case "SVGAnimateElement": |
+ var e = document.createElementNS("http://www.w3.org/2000/svg", "animate"); |
+ assert_true(e instanceof SVGAnimateElement); |
return e; |
- case "HTMLElement": |
- var e = document.createElement("html"); |
- assert_true(e instanceof HTMLElement); |
+ case "SVGAnimateMotionElement": |
+ var e = document.createElementNS("http://www.w3.org/2000/svg", "animateMotion"); |
+ assert_true(e instanceof SVGAnimateMotionElement); |
return e; |
- case "HTMLBodyElement": |
- var e = document.createElement("body"); |
- assert_true(e instanceof HTMLBodyElement); |
+ case "SVGAnimateTransformElement": |
+ var e = document.createElementNS("http://www.w3.org/2000/svg", "animateTransform"); |
+ assert_true(e instanceof SVGAnimateTransformElement); |
return e; |
- case "HTMLFormElement": |
- var e = document.createElement("form"); |
- assert_true(e instanceof HTMLFormElement); |
+ case "SVGSetElement": |
+ var e = document.createElementNS("http://www.w3.org/2000/svg", "set"); |
+ assert_true(e instanceof SVGSetElement); |
return e; |
- case "HTMLFrameSetElement": |
- var e = document.createElement("frameset"); |
- assert_true(e instanceof HTMLFrameSetElement); |
- return e; |
- case "SVGElement": |
- var e = document.createElementNS("http://www.w3.org/2000/svg", "rect"); |
- assert_true(e instanceof SVGElement); |
- return e; |
- case "Document": |
- assert_true(document instanceof Document); |
- return document; |
- case "Window": |
- assert_true(window instanceof Window); |
- return window; |
} |
assert_unreached(); |
} |
@@ -58,19 +42,6 @@ function testReflect(interface, attribute) { |
element.removeAttribute(attribute); |
}, "Reflect " + interface + "." + attribute); |
} |
-function testForwardToWindow(interface, attribute) { |
- test(function() { |
- var element = getObject(interface); |
- window[attribute] = null; |
- element.setAttribute(attribute, "return"); |
- assert_equals(typeof window[attribute], "function", "Convert to function"); |
- assert_equals(window[attribute], element[attribute], "Forward content attribute"); |
- function nop() {} |
- element[attribute] = nop; |
- assert_equals(window[attribute], nop, "Forward IDL attribute"); |
- window[attribute] = null; |
- }, "Forward " + interface + "." + attribute + " to Window"); |
-} |
// Object.propertyIsEnumerable cannot be used because it doesn't |
// work with properties inherited through the prototype chain. |
function getEnumerable(interface) { |
@@ -80,6 +51,17 @@ function getEnumerable(interface) { |
} |
return enumerable; |
} |
+function testEventHandlerMapping(attribute, eventname) { |
+ async_test(function(t) { |
+ var element = getObject("SVGAnimateElement"); |
+ assert_false(element.hasAttribute(attribute), "Initially missing"); |
+ element[attribute] = function() { |
+ t.step(function (){assert_true(true); t.done();}); |
+ }; |
+ var event = new CustomEvent(eventname); |
+ element.dispatchEvent(event); |
+ }, "Event " + eventname + " maps to " + attribute); |
+} |
var enumerableCache = {}; |
function testEnumerate(interface, attribute) { |
if (!(interface in enumerableCache)) { |