mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-23 10:15:41 +00:00
Bug 1450151 [wpt PR 10249] - Add test for DocumentAndElementEventHandlers in SVG, a=testonly
Automatic update from web-platform-testsMerge pull request #10249 from dstorey/svg-document-element-events Add test for DocumentAndElementEventHandlers in SVG -- wpt-commits: 1529e32ac8073c48e872e7d705a10daa24decbbf wpt-pr: 10249
This commit is contained in:
parent
9c2aca24ab
commit
9bf139af57
@ -391376,6 +391376,12 @@
|
||||
{}
|
||||
]
|
||||
],
|
||||
"svg/types/scripted/event-handler-all-document-element-events.svg": [
|
||||
[
|
||||
"/svg/types/scripted/event-handler-all-document-element-events.svg",
|
||||
{}
|
||||
]
|
||||
],
|
||||
"touch-events/historical.html": [
|
||||
[
|
||||
"/touch-events/historical.html",
|
||||
@ -635309,6 +635315,10 @@
|
||||
"c81a23394468f2e4d586d4e6ece5be713470d485",
|
||||
"testharness"
|
||||
],
|
||||
"svg/types/scripted/event-handler-all-document-element-events.svg": [
|
||||
"fa813dd1dd31987d2792aaa14a5f7ea996a8054d",
|
||||
"testharness"
|
||||
],
|
||||
"svg/types/scripted/resources/SVGLengthList-helper.js": [
|
||||
"3cf888b7dbaeb370ef1b34409540337dee2c8e33",
|
||||
"support"
|
||||
|
@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:h="http://www.w3.org/1999/xhtml">
|
||||
<title>DocumentAndElementEventHandlers</title>
|
||||
<metadata>
|
||||
<h:link rel="help" href="https://svgwg.org/svg2-draft/types.html#InterfaceSVGElement"/>
|
||||
</metadata>
|
||||
<h:script src="/resources/testharness.js"/>
|
||||
<h:script src="/resources/testharnessreport.js"/>
|
||||
<script><![CDATA[
|
||||
"use strict";
|
||||
setup({ explicit_done: true });
|
||||
|
||||
const names = ["oncut","oncopy","onpaste"];
|
||||
|
||||
for (const name of names) {
|
||||
const withoutOn = name.substring(2);
|
||||
|
||||
test(() => {
|
||||
assert_true(SVGElement.prototype.hasOwnProperty(name),
|
||||
`${SVGElement.prototype.constructor.name} has an own property named "${name}"`);
|
||||
assert_false(name in Element.prototype, `Element.prototype must not contain a "${name}" property`);
|
||||
}, `${name}: DocumentAndElementEventHandlers must be on SVGElement not Element`);
|
||||
|
||||
test(() => {
|
||||
const svgElement = document.createElementNS("http://www.w3.org/2000/svg", "g");
|
||||
|
||||
assert_equals(svgElement[name], null,
|
||||
`The default value of the property is null for a ${svgElement.constructor.name} instance`);
|
||||
}, `${name}: the default value must be null`);
|
||||
|
||||
test(() => {
|
||||
const el = document.createElementNS("http://www.w3.org/2000/svg", "g");
|
||||
el.setAttribute(name, `window.${name}Happened = true;`);
|
||||
const compiledHandler = el[name];
|
||||
|
||||
assert_equals(typeof compiledHandler, "function", `The ${name} property must be a function`);
|
||||
compiledHandler();
|
||||
assert_true(window[name + "Happened"], "Calling the handler must run the code");
|
||||
}, `${name}: the content attribute must be compiled into a function as the corresponding property`);
|
||||
|
||||
test(() => {
|
||||
const el = document.createElementNS("http://www.w3.org/2000/svg", "g");
|
||||
el.setAttribute(name, `window.${name}Happened2 = true;`);
|
||||
|
||||
el.dispatchEvent(new Event(withoutOn));
|
||||
|
||||
assert_true(window[name + "Happened2"], "Dispatching an event must run the code");
|
||||
}, `${name}: the content attribute must execute when an event is dispatched`);
|
||||
}
|
||||
|
||||
done();
|
||||
]]></script>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
Loading…
Reference in New Issue
Block a user