From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- dom/svg/test/MutationEventChecker.js | 278 ++++ dom/svg/test/a_href_destination.svg | 3 + dom/svg/test/a_href_helper_01.svg | 5 + dom/svg/test/a_href_helper_02_03.svg | 5 + dom/svg/test/a_href_helper_04.svg | 6 + dom/svg/test/a_href_helper_05.svg | 5 + dom/svg/test/a_href_helper_06.svg | 5 + dom/svg/test/a_href_helper_07.svg | 6 + dom/svg/test/animated-svg-image-helper.html | 3 + dom/svg/test/animated-svg-image-helper.svg | 3 + dom/svg/test/bbox-helper.svg | 42 + dom/svg/test/bounds-helper.svg | 86 ++ dom/svg/test/dataTypes-helper.svg | 20 + dom/svg/test/fragments-helper.svg | 4 + dom/svg/test/getBBox-method-helper.svg | 304 +++++ dom/svg/test/getCTM-helper.svg | 47 + dom/svg/test/getSubStringLength-helper.svg | 7 + dom/svg/test/matrixUtils.js | 78 ++ dom/svg/test/mochitest.ini | 113 ++ dom/svg/test/object-delayed-intrinsic-size.sjs | 24 + dom/svg/test/pointer-events.js | 328 +++++ dom/svg/test/scientific-helper.svg | 5 + dom/svg/test/selectSubString-helper.svg | 7 + dom/svg/test/switch-helper.svg | 12 + dom/svg/test/tearoff_with_cc_helper.html | 36 + dom/svg/test/test_SVGLengthList-2.xhtml | 64 + dom/svg/test/test_SVGLengthList.xhtml | 158 +++ dom/svg/test/test_SVGMatrix.xhtml | 180 +++ dom/svg/test/test_SVGNumberList.xhtml | 74 ++ dom/svg/test/test_SVGPointList.xhtml | 129 ++ dom/svg/test/test_SVGStringList.xhtml | 118 ++ dom/svg/test/test_SVGStyleElement.xhtml | 33 + dom/svg/test/test_SVGTransformList.xhtml | 461 +++++++ dom/svg/test/test_SVGTransformListAddition.xhtml | 185 +++ dom/svg/test/test_SVG_namespace_ids.html | 113 ++ dom/svg/test/test_SVGxxxList.xhtml | 1372 ++++++++++++++++++++ dom/svg/test/test_SVGxxxListIndexing.xhtml | 93 ++ dom/svg/test/test_a_href_01.xhtml | 96 ++ dom/svg/test/test_a_href_02.xhtml | 37 + dom/svg/test/test_animLengthObjectIdentity.xhtml | 86 ++ dom/svg/test/test_animLengthReadonly.xhtml | 219 ++++ dom/svg/test/test_animLengthUnits.xhtml | 125 ++ dom/svg/test/test_bbox-changes.xhtml | 77 ++ dom/svg/test/test_bbox-with-invalid-viewBox.xhtml | 38 + dom/svg/test/test_bbox.xhtml | 91 ++ dom/svg/test/test_bounds.html | 317 +++++ dom/svg/test/test_bug1426594.html | 34 + dom/svg/test/test_bug872812.html | 29 + dom/svg/test/test_dataTypes.html | 377 ++++++ dom/svg/test/test_dataTypesModEvents.html | 257 ++++ dom/svg/test/test_fragments.html | 92 ++ dom/svg/test/test_getBBox-method.html | 248 ++++ dom/svg/test/test_getCTM.html | 124 ++ dom/svg/test/test_getElementById.xhtml | 65 + ...est_getPathSegListAtLength_with_d_property.html | 55 + dom/svg/test/test_getSubStringLength.xhtml | 91 ++ dom/svg/test/test_getTotalLength.xhtml | 57 + dom/svg/test/test_hit-testing-and-viewbox.xhtml | 81 ++ dom/svg/test/test_lang.xhtml | 90 ++ dom/svg/test/test_length.xhtml | 58 + dom/svg/test/test_lengthParsing.html | 82 ++ dom/svg/test/test_markerOrient.xhtml | 110 ++ dom/svg/test/test_non-scaling-stroke.html | 52 + dom/svg/test/test_nonAnimStrings.xhtml | 78 ++ .../test/test_object-delayed-intrinsic-size.html | 39 + dom/svg/test/test_onerror.xhtml | 35 + dom/svg/test/test_onload.xhtml | 35 + dom/svg/test/test_onload2.xhtml | 48 + dom/svg/test/test_pairParsing.html | 43 + dom/svg/test/test_pathAnimInterpolation.xhtml | 341 +++++ dom/svg/test/test_pointAtLength.xhtml | 49 + dom/svg/test/test_pointer-events-1a.xhtml | 27 + dom/svg/test/test_pointer-events-1b.xhtml | 27 + dom/svg/test/test_pointer-events-2.xhtml | 71 + dom/svg/test/test_pointer-events-3.xhtml | 54 + dom/svg/test/test_pointer-events-4.xhtml | 109 ++ dom/svg/test/test_pointer-events-6.xhtml | 69 + dom/svg/test/test_pointer-events-7.xhtml | 65 + dom/svg/test/test_scientific.html | 82 ++ dom/svg/test/test_selectSubString.xhtml | 74 ++ dom/svg/test/test_stroke-hit-testing.xhtml | 66 + dom/svg/test/test_stroke-linecap-hit-testing.xhtml | 45 + dom/svg/test/test_style_sheet.html | 27 + dom/svg/test/test_switch.xhtml | 99 ++ dom/svg/test/test_tabindex.html | 103 ++ dom/svg/test/test_tearoff_with_cc.html | 48 + dom/svg/test/test_text.html | 189 +++ dom/svg/test/test_text_2.html | 63 + dom/svg/test/test_text_dirty.html | 47 + dom/svg/test/test_text_lengthAdjust.html | 106 ++ dom/svg/test/test_text_scaled.html | 135 ++ dom/svg/test/test_text_selection.html | 139 ++ dom/svg/test/test_text_update.html | 31 + dom/svg/test/test_transform.xhtml | 190 +++ dom/svg/test/test_transformParsing.html | 103 ++ dom/svg/test/test_use_with_hsts.html | 132 ++ dom/svg/test/test_valueAsString.xhtml | 64 + dom/svg/test/test_valueLeaks.xhtml | 84 ++ dom/svg/test/test_viewBox.html | 86 ++ dom/svg/test/test_viewport.html | 59 + dom/svg/test/text-helper-scaled.svg | 8 + dom/svg/test/text-helper-selection.svg | 23 + dom/svg/test/text-helper.svg | 19 + dom/svg/test/use-with-hsts-helper.html | 30 + dom/svg/test/use-with-hsts-helper.html^headers^ | 2 + dom/svg/test/viewport-helper.svg | 26 + 106 files changed, 10570 insertions(+) create mode 100644 dom/svg/test/MutationEventChecker.js create mode 100644 dom/svg/test/a_href_destination.svg create mode 100644 dom/svg/test/a_href_helper_01.svg create mode 100644 dom/svg/test/a_href_helper_02_03.svg create mode 100644 dom/svg/test/a_href_helper_04.svg create mode 100644 dom/svg/test/a_href_helper_05.svg create mode 100644 dom/svg/test/a_href_helper_06.svg create mode 100644 dom/svg/test/a_href_helper_07.svg create mode 100644 dom/svg/test/animated-svg-image-helper.html create mode 100644 dom/svg/test/animated-svg-image-helper.svg create mode 100644 dom/svg/test/bbox-helper.svg create mode 100644 dom/svg/test/bounds-helper.svg create mode 100644 dom/svg/test/dataTypes-helper.svg create mode 100644 dom/svg/test/fragments-helper.svg create mode 100644 dom/svg/test/getBBox-method-helper.svg create mode 100644 dom/svg/test/getCTM-helper.svg create mode 100644 dom/svg/test/getSubStringLength-helper.svg create mode 100644 dom/svg/test/matrixUtils.js create mode 100644 dom/svg/test/mochitest.ini create mode 100644 dom/svg/test/object-delayed-intrinsic-size.sjs create mode 100644 dom/svg/test/pointer-events.js create mode 100644 dom/svg/test/scientific-helper.svg create mode 100644 dom/svg/test/selectSubString-helper.svg create mode 100644 dom/svg/test/switch-helper.svg create mode 100644 dom/svg/test/tearoff_with_cc_helper.html create mode 100644 dom/svg/test/test_SVGLengthList-2.xhtml create mode 100644 dom/svg/test/test_SVGLengthList.xhtml create mode 100644 dom/svg/test/test_SVGMatrix.xhtml create mode 100644 dom/svg/test/test_SVGNumberList.xhtml create mode 100644 dom/svg/test/test_SVGPointList.xhtml create mode 100644 dom/svg/test/test_SVGStringList.xhtml create mode 100644 dom/svg/test/test_SVGStyleElement.xhtml create mode 100644 dom/svg/test/test_SVGTransformList.xhtml create mode 100644 dom/svg/test/test_SVGTransformListAddition.xhtml create mode 100644 dom/svg/test/test_SVG_namespace_ids.html create mode 100644 dom/svg/test/test_SVGxxxList.xhtml create mode 100644 dom/svg/test/test_SVGxxxListIndexing.xhtml create mode 100644 dom/svg/test/test_a_href_01.xhtml create mode 100644 dom/svg/test/test_a_href_02.xhtml create mode 100644 dom/svg/test/test_animLengthObjectIdentity.xhtml create mode 100644 dom/svg/test/test_animLengthReadonly.xhtml create mode 100644 dom/svg/test/test_animLengthUnits.xhtml create mode 100644 dom/svg/test/test_bbox-changes.xhtml create mode 100644 dom/svg/test/test_bbox-with-invalid-viewBox.xhtml create mode 100644 dom/svg/test/test_bbox.xhtml create mode 100644 dom/svg/test/test_bounds.html create mode 100644 dom/svg/test/test_bug1426594.html create mode 100644 dom/svg/test/test_bug872812.html create mode 100644 dom/svg/test/test_dataTypes.html create mode 100644 dom/svg/test/test_dataTypesModEvents.html create mode 100644 dom/svg/test/test_fragments.html create mode 100644 dom/svg/test/test_getBBox-method.html create mode 100644 dom/svg/test/test_getCTM.html create mode 100644 dom/svg/test/test_getElementById.xhtml create mode 100644 dom/svg/test/test_getPathSegListAtLength_with_d_property.html create mode 100644 dom/svg/test/test_getSubStringLength.xhtml create mode 100644 dom/svg/test/test_getTotalLength.xhtml create mode 100644 dom/svg/test/test_hit-testing-and-viewbox.xhtml create mode 100644 dom/svg/test/test_lang.xhtml create mode 100644 dom/svg/test/test_length.xhtml create mode 100644 dom/svg/test/test_lengthParsing.html create mode 100644 dom/svg/test/test_markerOrient.xhtml create mode 100644 dom/svg/test/test_non-scaling-stroke.html create mode 100644 dom/svg/test/test_nonAnimStrings.xhtml create mode 100644 dom/svg/test/test_object-delayed-intrinsic-size.html create mode 100644 dom/svg/test/test_onerror.xhtml create mode 100644 dom/svg/test/test_onload.xhtml create mode 100644 dom/svg/test/test_onload2.xhtml create mode 100644 dom/svg/test/test_pairParsing.html create mode 100644 dom/svg/test/test_pathAnimInterpolation.xhtml create mode 100644 dom/svg/test/test_pointAtLength.xhtml create mode 100644 dom/svg/test/test_pointer-events-1a.xhtml create mode 100644 dom/svg/test/test_pointer-events-1b.xhtml create mode 100644 dom/svg/test/test_pointer-events-2.xhtml create mode 100644 dom/svg/test/test_pointer-events-3.xhtml create mode 100644 dom/svg/test/test_pointer-events-4.xhtml create mode 100644 dom/svg/test/test_pointer-events-6.xhtml create mode 100644 dom/svg/test/test_pointer-events-7.xhtml create mode 100644 dom/svg/test/test_scientific.html create mode 100644 dom/svg/test/test_selectSubString.xhtml create mode 100644 dom/svg/test/test_stroke-hit-testing.xhtml create mode 100644 dom/svg/test/test_stroke-linecap-hit-testing.xhtml create mode 100644 dom/svg/test/test_style_sheet.html create mode 100644 dom/svg/test/test_switch.xhtml create mode 100644 dom/svg/test/test_tabindex.html create mode 100644 dom/svg/test/test_tearoff_with_cc.html create mode 100644 dom/svg/test/test_text.html create mode 100644 dom/svg/test/test_text_2.html create mode 100644 dom/svg/test/test_text_dirty.html create mode 100644 dom/svg/test/test_text_lengthAdjust.html create mode 100644 dom/svg/test/test_text_scaled.html create mode 100644 dom/svg/test/test_text_selection.html create mode 100644 dom/svg/test/test_text_update.html create mode 100644 dom/svg/test/test_transform.xhtml create mode 100644 dom/svg/test/test_transformParsing.html create mode 100644 dom/svg/test/test_use_with_hsts.html create mode 100644 dom/svg/test/test_valueAsString.xhtml create mode 100644 dom/svg/test/test_valueLeaks.xhtml create mode 100644 dom/svg/test/test_viewBox.html create mode 100644 dom/svg/test/test_viewport.html create mode 100644 dom/svg/test/text-helper-scaled.svg create mode 100644 dom/svg/test/text-helper-selection.svg create mode 100644 dom/svg/test/text-helper.svg create mode 100644 dom/svg/test/use-with-hsts-helper.html create mode 100644 dom/svg/test/use-with-hsts-helper.html^headers^ create mode 100644 dom/svg/test/viewport-helper.svg (limited to 'dom/svg/test') diff --git a/dom/svg/test/MutationEventChecker.js b/dom/svg/test/MutationEventChecker.js new file mode 100644 index 0000000000..860b8da567 --- /dev/null +++ b/dom/svg/test/MutationEventChecker.js @@ -0,0 +1,278 @@ +// Helper class to check DOM MutationEvents +// +// Usage: +// +// * Create a new event checker: +// var eventChecker = new MutationEventChecker; +// * Set the attribute to watch +// eventChecker.watchAttr(, ""); +// * Set the events to expect (0..n) +// eventChecker.expect("add", "modify"); +// OR +// eventChecker.expect("add modify"); +// OR +// eventChecker.expect(MutationEvent.ADDITION, MutationEvent.MODIFICATION); +// +// An empty string or empty set of arguments is also fine as a way of checking +// that all expected events have been received and indicating no events are +// expected from the following code, e.g. +// +// eventChecker.expect(""); +// // changes that are not expected to generate events +// eventChecker.expect("modify"); +// // change that is expected to generate an event +// ... +// +// * Either finish listening or set the next attribute to watch +// eventChecker.finish(); +// eventChecker.watchAttr(element, "nextAttribute"); +// +// In either case a check is performed that all expected events have been +// received. +// +// * Event checking can be temporarily disabled with ignoreEvents(). The next +// call to expect() will cause it to resume. + +function MutationEventChecker() { + this.expectedEvents = []; + + this.watchAttr = function (element, attr) { + if (this.attr) { + this.finish(); + } + + this.expectedEvents = []; + this.element = element; + this.attr = attr; + this.oldValue = element.getAttribute(attr); + this.giveUp = false; + this.ignore = false; + + this.element.addEventListener("DOMAttrModified", this._listener); + }; + + this.expect = function () { + if (this.giveUp) { + return; + } + + ok( + !this.expectedEvents.length, + "Expecting new events for " + + this.attr + + " but the following previously expected events have still not been " + + "received: " + + this._stillExpecting() + ); + if (this.expectedEvents.length) { + this.giveUp = true; + return; + } + + this.ignore = false; + + if (!arguments.length || (arguments.length == 1 && arguments[0] == "")) { + return; + } + + // Turn arguments object into an array + var args = Array.prototype.slice.call(arguments); + // Check for whitespace separated keywords + if ( + args.length == 1 && + typeof args[0] === "string" && + args[0].indexOf(" ") > 0 + ) { + args = args[0].split(" "); + } + // Convert strings to event Ids + this.expectedEvents = args.map(this._argToEventId); + }; + + // Temporarily disable event checking + this.ignoreEvents = function () { + // Check all events have been received + ok( + this.giveUp || !this.expectedEvents.length, + "Going to ignore subsequent events on " + + this.attr + + " attribute, but we're still expecting the following events: " + + this._stillExpecting() + ); + + this.ignore = true; + }; + + this.finish = function () { + // Check all events have been received + ok( + this.giveUp || !this.expectedEvents.length, + "Finishing listening to " + + this.attr + + " attribute, but we're still expecting the following events: " + + this._stillExpecting() + ); + + this.element.removeEventListener("DOMAttrModified", this._listener); + this.attr = ""; + }; + + this._receiveEvent = function (e) { + if (this.giveUp || this.ignore) { + this.oldValue = e.newValue; + return; + } + + // Make sure we're expecting something at all + if (!this.expectedEvents.length) { + ok( + false, + "Unexpected " + + this._eventToName(e.attrChange) + + " event when none expected on " + + this.attr + + " attribute." + ); + return; + } + + var expectedEvent = this.expectedEvents.shift(); + + // Make sure we got the event we expected + if (e.attrChange != expectedEvent) { + ok( + false, + "Unexpected " + + this._eventToName(e.attrChange) + + " on " + + this.attr + + " attribute. Expected " + + this._eventToName(expectedEvent) + + " (followed by: " + + this._stillExpecting() + + ")" + ); + // If we get events out of sequence, it doesn't make sense to do any + // further testing since we don't really know what to expect + this.giveUp = true; + return; + } + + // Common param checking + is( + e.target, + this.element, + "Unexpected node for mutation event on " + this.attr + " attribute" + ); + is(e.attrName, this.attr, "Unexpected attribute name for mutation event"); + + // Don't bother testing e.relatedNode since Attr nodes are on the way + // out anyway (but then, so are mutation events...) + + // Event-specific checking + if (e.attrChange == MutationEvent.MODIFICATION) { + ok( + this.element.hasAttribute(this.attr), + "Attribute not set after modification" + ); + is( + e.prevValue, + this.oldValue, + "Unexpected old value for modification to " + this.attr + " attribute" + ); + isnot( + e.newValue, + this.oldValue, + "Unexpected new value for modification to " + this.attr + " attribute" + ); + } else if (e.attrChange == MutationEvent.REMOVAL) { + ok(!this.element.hasAttribute(this.attr), "Attribute set after removal"); + is( + e.prevValue, + this.oldValue, + "Unexpected old value for removal of " + this.attr + " attribute" + ); + // DOM 3 Events doesn't say what value newValue will be for a removal + // event but generally empty strings are used for other events when an + // attribute isn't relevant + ok( + e.newValue === "", + "Unexpected new value for removal of " + this.attr + " attribute" + ); + } else if (e.attrChange == MutationEvent.ADDITION) { + ok( + this.element.hasAttribute(this.attr), + "Attribute not set after addition" + ); + // DOM 3 Events doesn't say what value prevValue will be for an addition + // event but generally empty strings are used for other events when an + // attribute isn't relevant + ok( + e.prevValue === "", + "Unexpected old value for addition of " + this.attr + " attribute" + ); + ok( + typeof e.newValue == "string" && e.newValue !== "", + "Unexpected new value for addition of " + this.attr + " attribute" + ); + } else { + ok(false, "Unexpected mutation event type: " + e.attrChange); + this.giveUp = true; + } + this.oldValue = e.newValue; + }; + this._listener = this._receiveEvent.bind(this); + + this._stillExpecting = function () { + if (!this.expectedEvents.length) { + return "(nothing)"; + } + var eventNames = []; + for (var i = 0; i < this.expectedEvents.length; i++) { + eventNames.push(this._eventToName(this.expectedEvents[i])); + } + return eventNames.join(", "); + }; + + this._eventToName = function (evtId) { + switch (evtId) { + case MutationEvent.MODIFICATION: + return "modification"; + case MutationEvent.ADDITION: + return "addition"; + case MutationEvent.REMOVAL: + return "removal"; + } + return "Unknown MutationEvent Type"; + }; + + this._argToEventId = function (arg) { + if (typeof arg === "number") { + return arg; + } + + if (typeof arg !== "string") { + ok(false, "Unexpected event type: " + arg); + return 0; + } + + switch (arg.toLowerCase()) { + case "mod": + case "modify": + case "modification": + return MutationEvent.MODIFICATION; + + case "add": + case "addition": + return MutationEvent.ADDITION; + + case "removal": + case "remove": + return MutationEvent.REMOVAL; + + default: + ok(false, "Unexpected event name: " + arg); + return 0; + } + }; +} diff --git a/dom/svg/test/a_href_destination.svg b/dom/svg/test/a_href_destination.svg new file mode 100644 index 0000000000..43e4c812f4 --- /dev/null +++ b/dom/svg/test/a_href_destination.svg @@ -0,0 +1,3 @@ + + + diff --git a/dom/svg/test/a_href_helper_01.svg b/dom/svg/test/a_href_helper_01.svg new file mode 100644 index 0000000000..8f33cea404 --- /dev/null +++ b/dom/svg/test/a_href_helper_01.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/dom/svg/test/a_href_helper_02_03.svg b/dom/svg/test/a_href_helper_02_03.svg new file mode 100644 index 0000000000..af4b7e2736 --- /dev/null +++ b/dom/svg/test/a_href_helper_02_03.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/dom/svg/test/a_href_helper_04.svg b/dom/svg/test/a_href_helper_04.svg new file mode 100644 index 0000000000..50aca28898 --- /dev/null +++ b/dom/svg/test/a_href_helper_04.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/dom/svg/test/a_href_helper_05.svg b/dom/svg/test/a_href_helper_05.svg new file mode 100644 index 0000000000..8600960b8d --- /dev/null +++ b/dom/svg/test/a_href_helper_05.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/dom/svg/test/a_href_helper_06.svg b/dom/svg/test/a_href_helper_06.svg new file mode 100644 index 0000000000..9414c39892 --- /dev/null +++ b/dom/svg/test/a_href_helper_06.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/dom/svg/test/a_href_helper_07.svg b/dom/svg/test/a_href_helper_07.svg new file mode 100644 index 0000000000..9fe1d23f7f --- /dev/null +++ b/dom/svg/test/a_href_helper_07.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/dom/svg/test/animated-svg-image-helper.html b/dom/svg/test/animated-svg-image-helper.html new file mode 100644 index 0000000000..94af2098bc --- /dev/null +++ b/dom/svg/test/animated-svg-image-helper.html @@ -0,0 +1,3 @@ + + + diff --git a/dom/svg/test/animated-svg-image-helper.svg b/dom/svg/test/animated-svg-image-helper.svg new file mode 100644 index 0000000000..5f6f564e92 --- /dev/null +++ b/dom/svg/test/animated-svg-image-helper.svg @@ -0,0 +1,3 @@ + + + diff --git a/dom/svg/test/bbox-helper.svg b/dom/svg/test/bbox-helper.svg new file mode 100644 index 0000000000..40aa01cb2a --- /dev/null +++ b/dom/svg/test/bbox-helper.svg @@ -0,0 +1,42 @@ + + + + + + + abcdef + a + y + + abcdef + + ABCEDFABCEDF + text + + ‎text + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dom/svg/test/bounds-helper.svg b/dom/svg/test/bounds-helper.svg new file mode 100644 index 0000000000..2d526f533c --- /dev/null +++ b/dom/svg/test/bounds-helper.svg @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + abc + abc + abc + + + abc + abc + + + + abc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dom/svg/test/dataTypes-helper.svg b/dom/svg/test/dataTypes-helper.svg new file mode 100644 index 0000000000..e2a17e31c3 --- /dev/null +++ b/dom/svg/test/dataTypes-helper.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/dom/svg/test/fragments-helper.svg b/dom/svg/test/fragments-helper.svg new file mode 100644 index 0000000000..c7fa8fca7a --- /dev/null +++ b/dom/svg/test/fragments-helper.svg @@ -0,0 +1,4 @@ + + + + diff --git a/dom/svg/test/getBBox-method-helper.svg b/dom/svg/test/getBBox-method-helper.svg new file mode 100644 index 0000000000..8172b2d864 --- /dev/null +++ b/dom/svg/test/getBBox-method-helper.svg @@ -0,0 +1,304 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 99 + 99 + + 99 + + + 99 + + 99 + 99 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+There are issues of dynamic loading required for tiling. Accroding to 'postpone' attribute of Resource Priorities, the dynamic loading is controlled by positional relation with bounding box of embedded contents and container's viewport. However, each bounding boxes of embedded contents should be whole earth basically when this method is used. (green part on Example) Tiling is impossible unless this situation is changed. +
+
+ +
+There are issues of dynamic loading required for tiling. Accroding to 'postpone' attribute of Resource Priorities, the dynamic loading is controlled by positional relation with bounding box of embedded contents and container's viewport. However, each bounding boxes of embedded contents should be whole earth basically when this method is used. (green part on Example) Tiling is impossible unless this situation is changed. +
+
+ +
+There are issues of dynamic loading required for tiling. Accroding to 'postpone' attribute of Resource Priorities, the dynamic loading is controlled by positional relation with bounding box of embedded contents and container's viewport. However, each bounding boxes of embedded contents should be whole earth basically when this method is used. (green part on Example) Tiling is impossible unless this situation is changed. +
+
+ +
+There are issues of dynamic loading required for tiling. Accroding to 'postpone' attribute of Resource Priorities, the dynamic loading is controlled by positional relation with bounding box of embedded contents and container's viewport. However, each bounding boxes of embedded contents should be whole earth basically when this method is used. (green part on Example) Tiling is impossible unless this situation is changed. +
+
+ + +
+There are issues of dynamic loading required for tiling. Accroding to 'postpone' attribute of Resource Priorities, the dynamic loading is controlled by positional relation with bounding box of embedded contents and container's viewport. However, each bounding boxes of embedded contents should be whole earth basically when this method is used. (green part on Example) Tiling is impossible unless this situation is changed. +
+
+ + +
+There are issues of dynamic loading required for tiling. Accroding to 'postpone' attribute of Resource Priorities, the dynamic loading is controlled by positional relation with bounding box of embedded contents and container's viewport. However, each bounding boxes of embedded contents should be whole earth basically when this method is used. (green part on Example) Tiling is impossible unless this situation is changed. +
+
+ + +
+There are issues of dynamic loading required for tiling. Accroding to 'postpone' attribute of Resource Priorities, the dynamic loading is controlled by positional relation with bounding box of embedded contents and container's viewport. However, each bounding boxes of embedded contents should be whole earth basically when this method is used. (green part on Example) Tiling is impossible unless this situation is changed. +
+
+ + +
+There are issues of dynamic loading required for tiling. Accroding to 'postpone' attribute of Resource Priorities, the dynamic loading is controlled by positional relation with bounding box of embedded contents and container's viewport. However, each bounding boxes of embedded contents should be whole earth basically when this method is used. (green part on Example) Tiling is impossible unless this situation is changed. +
+
+ + + + + + + + + + + +
diff --git a/dom/svg/test/getCTM-helper.svg b/dom/svg/test/getCTM-helper.svg new file mode 100644 index 0000000000..835efc5067 --- /dev/null +++ b/dom/svg/test/getCTM-helper.svg @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dom/svg/test/getSubStringLength-helper.svg b/dom/svg/test/getSubStringLength-helper.svg new file mode 100644 index 0000000000..6c80d9d46b --- /dev/null +++ b/dom/svg/test/getSubStringLength-helper.svg @@ -0,0 +1,7 @@ + + + + abc + diff --git a/dom/svg/test/matrixUtils.js b/dom/svg/test/matrixUtils.js new file mode 100644 index 0000000000..ed9b8297b9 --- /dev/null +++ b/dom/svg/test/matrixUtils.js @@ -0,0 +1,78 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- + * vim: sw=2 ts=2 et lcs=trail\:.,tab\:>~ : + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +/* + * Utilities for testing SVG matrices + */ + +function createMatrix(a, b, c, d, e, f) { + var svg = document.getElementsByTagName("svg")[0]; + var m = svg.createSVGMatrix(); + m.a = a; + m.b = b; + m.c = c; + m.d = d; + m.e = e; + m.f = f; + return m; +} + +// Lightweight dummy Matrix class for representing arrays that get passed in +function MatrixFromArray(a) { + this.a = a[0]; + this.b = a[1]; + this.c = a[2]; + this.d = a[3]; + this.e = a[4]; + this.f = a[5]; +} + +function cmpMatrix(a, b, msg) { + if (a.constructor === Array) { + a = new MatrixFromArray(a); + } + if (b.constructor === Array) { + b = new MatrixFromArray(b); + } + + ok( + a.a == b.a && + a.b == b.b && + a.c == b.c && + a.d == b.d && + a.e == b.e && + a.f == b.f, + msg + " - got " + formatMatrix(a) + ", expected " + formatMatrix(b) + ); +} + +function roughCmpMatrix(a, b, msg) { + if (a.constructor === Array) { + a = new MatrixFromArray(a); + } + if (b.constructor === Array) { + b = new MatrixFromArray(b); + } + + const tolerance = 1 / 65535; + ok( + Math.abs(b.a - a.a) < tolerance && + Math.abs(b.b - a.b) < tolerance && + Math.abs(b.c - a.c) < tolerance && + Math.abs(b.d - a.d) < tolerance && + Math.abs(b.e - a.e) < tolerance && + Math.abs(b.f - a.f) < tolerance, + msg + " - got " + formatMatrix(a) + ", expected " + formatMatrix(b) + ); +} + +function formatMatrix(m) { + if (m.constructor != Array) { + return "(" + [m.a, m.b, m.c, m.d, m.e, m.f].join(", ") + ")"; + } + + return "(" + m.join(", ") + ")"; +} diff --git a/dom/svg/test/mochitest.ini b/dom/svg/test/mochitest.ini new file mode 100644 index 0000000000..1aa753f1ff --- /dev/null +++ b/dom/svg/test/mochitest.ini @@ -0,0 +1,113 @@ +[DEFAULT] +prefs = + dom.svg.pathSeg.enabled=true +support-files = + MutationEventChecker.js + a_href_destination.svg + a_href_helper_01.svg + a_href_helper_02_03.svg + a_href_helper_04.svg + a_href_helper_05.svg + a_href_helper_06.svg + a_href_helper_07.svg + animated-svg-image-helper.html + animated-svg-image-helper.svg + bbox-helper.svg + bounds-helper.svg + dataTypes-helper.svg + fragments-helper.svg + getBBox-method-helper.svg + getCTM-helper.svg + getSubStringLength-helper.svg + matrixUtils.js + object-delayed-intrinsic-size.sjs + pointer-events.js + scientific-helper.svg + selectSubString-helper.svg + switch-helper.svg + text-helper-scaled.svg + text-helper-selection.svg + text-helper.svg + viewport-helper.svg + +[test_SVGLengthList-2.xhtml] +[test_SVGLengthList.xhtml] +[test_SVGMatrix.xhtml] +[test_SVGNumberList.xhtml] +[test_SVGPointList.xhtml] +[test_SVGStringList.xhtml] +[test_SVGStyleElement.xhtml] +[test_SVGTransformList.xhtml] +[test_SVGTransformListAddition.xhtml] +[test_SVG_namespace_ids.html] +[test_SVGxxxList.xhtml] +[test_SVGxxxListIndexing.xhtml] +[test_a_href_01.xhtml] +[test_a_href_02.xhtml] +[test_animLengthObjectIdentity.xhtml] +[test_animLengthReadonly.xhtml] +[test_animLengthUnits.xhtml] +[test_bbox-changes.xhtml] +[test_bbox-with-invalid-viewBox.xhtml] +[test_bbox.xhtml] +[test_bounds.html] +[test_bug1426594.html] +[test_bug872812.html] +[test_dataTypes.html] +[test_dataTypesModEvents.html] +[test_fragments.html] +[test_getBBox-method.html] +[test_getCTM.html] +[test_getElementById.xhtml] +[test_getPathSegListAtLength_with_d_property.html] +[test_getSubStringLength.xhtml] +[test_getTotalLength.xhtml] +[test_hit-testing-and-viewbox.xhtml] +[test_lang.xhtml] +skip-if = true # disabled-for-intermittent-failures--bug-701060 +[test_length.xhtml] +[test_lengthParsing.html] +[test_markerOrient.xhtml] +[test_non-scaling-stroke.html] +[test_nonAnimStrings.xhtml] +[test_object-delayed-intrinsic-size.html] +[test_onerror.xhtml] +[test_onload.xhtml] +[test_onload2.xhtml] +[test_pairParsing.html] +[test_pathAnimInterpolation.xhtml] +skip-if = true # We need to polyfill the SVG DOM for path data +[test_pointAtLength.xhtml] +[test_pointer-events-1a.xhtml] +[test_pointer-events-1b.xhtml] +[test_pointer-events-2.xhtml] +[test_pointer-events-3.xhtml] +[test_pointer-events-4.xhtml] +[test_pointer-events-6.xhtml] +[test_pointer-events-7.xhtml] +[test_scientific.html] +[test_selectSubString.xhtml] +[test_stroke-hit-testing.xhtml] +[test_stroke-linecap-hit-testing.xhtml] +[test_style_sheet.html] +[test_switch.xhtml] +[test_tabindex.html] +[test_tearoff_with_cc.html] +support-files = tearoff_with_cc_helper.html +[test_text.html] +[test_text_2.html] +[test_text_dirty.html] +[test_text_lengthAdjust.html] +[test_text_scaled.html] +[test_text_selection.html] +[test_text_update.html] +[test_transform.xhtml] +[test_transformParsing.html] +[test_use_with_hsts.html] +support-files = use-with-hsts-helper.html use-with-hsts-helper.html^headers^ +scheme = https +[test_valueAsString.xhtml] +[test_valueLeaks.xhtml] +[test_viewBox.html] +[test_viewport.html] + diff --git a/dom/svg/test/object-delayed-intrinsic-size.sjs b/dom/svg/test/object-delayed-intrinsic-size.sjs new file mode 100644 index 0000000000..c7cd5cb9ff --- /dev/null +++ b/dom/svg/test/object-delayed-intrinsic-size.sjs @@ -0,0 +1,24 @@ +var timer = null; + +function handleRequest(request, response) { + response.processAsync(); + + response.setStatusLine(null, 200, "OK"); + response.setHeader("Content-Type", "image/svg+xml", false); + + // We need some body output or else gecko will not do an initial reflow + // while waiting for the rest of the document to load: + response.bodyOutputStream.write("\n", 1); + + timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); + timer.initWithCallback( + function () { + var body = + ""; + response.bodyOutputStream.write(body, body.length); + response.finish(); + }, + 1000 /* milliseconds */, + Ci.nsITimer.TYPE_ONE_SHOT + ); +} diff --git a/dom/svg/test/pointer-events.js b/dom/svg/test/pointer-events.js new file mode 100644 index 0000000000..e65fd3d390 --- /dev/null +++ b/dom/svg/test/pointer-events.js @@ -0,0 +1,328 @@ +SimpleTest.waitForExplicitFinish(); + +var pointer_events_values = [ + "auto", + "visiblePainted", + "visibleFill", + "visibleStroke", + "visible", + "painted", + "fill", + "stroke", + "all", + "none", +]; + +var paint_values = ["blue", "transparent", "none"]; + +var opacity_values = ["1", "0.5", "0"]; + +var visibility_values = ["visible", "hidden", "collapse"]; + +/** + * List of attributes and various values for which we want to test permutations + * when hit testing a pointer event that is over an element's fill area, + * stroke area, or both (where they overlap). + * + * We're using an array of objects so that we have control over the order in + * which permutations are tested. + * + * TODO: test the effect of clipping, masking, filters, markers, etc. + */ +var hit_test_inputs = { + fill: [ + { name: "pointer-events", values: pointer_events_values }, + { name: "fill", values: paint_values }, + { name: "fill-opacity", values: opacity_values }, + { name: "opacity", values: opacity_values }, + { name: "visibility", values: visibility_values }, + ], + stroke: [ + { name: "pointer-events", values: pointer_events_values }, + { name: "stroke", values: paint_values }, + { name: "stroke-opacity", values: opacity_values }, + { name: "opacity", values: opacity_values }, + { name: "visibility", values: visibility_values }, + ], + both: [ + { name: "pointer-events", values: pointer_events_values }, + { name: "fill", values: paint_values }, + { name: "fill-opacity", values: opacity_values }, + { name: "stroke", values: paint_values }, + { name: "stroke-opacity", values: opacity_values }, + { name: "opacity", values: opacity_values }, + { name: "visibility", values: visibility_values }, + ], +}; + +/** + * The following object contains a list of 'pointer-events' property values, + * each with an object detailing the conditions under which the fill and stroke + * of a graphical object will intercept pointer events for the given value. If + * the object contains a 'fill-intercepts-iff' property then the fill is + * expected to intercept pointer events for that value of 'pointer-events' if + * and only if the conditions listed in the 'fill-intercepts-iff' object are + * met. If there are no conditions in the 'fill-intercepts-iff' object then the + * fill should always intercept pointer events. However, if the + * 'fill-intercepts-iff' property is not set at all then it indicates that the + * fill should never intercept pointer events. The same rules apply for + * 'stroke-intercepts-iff'. + * + * If an attribute name in the conditions list is followed by the "!" + * character then the requirement for a hit is that its value is NOT any + * of the values listed in the given array. + */ +var hit_conditions = { + auto: { + "fill-intercepts-iff": { + visibility: ["visible"], + "fill!": ["none"], + }, + "stroke-intercepts-iff": { + visibility: ["visible"], + "stroke!": ["none"], + }, + }, + visiblePainted: { + "fill-intercepts-iff": { + visibility: ["visible"], + "fill!": ["none"], + }, + "stroke-intercepts-iff": { + visibility: ["visible"], + "stroke!": ["none"], + }, + }, + visibleFill: { + "fill-intercepts-iff": { + visibility: ["visible"], + }, + // stroke never intercepts pointer events + }, + visibleStroke: { + // fill never intercepts pointer events + "stroke-intercepts-iff": { + visibility: ["visible"], + }, + }, + visible: { + "fill-intercepts-iff": { + visibility: ["visible"], + }, + "stroke-intercepts-iff": { + visibility: ["visible"], + }, + }, + painted: { + "fill-intercepts-iff": { + "fill!": ["none"], + }, + "stroke-intercepts-iff": { + "stroke!": ["none"], + }, + }, + fill: { + "fill-intercepts-iff": { + // fill always intercepts pointer events + }, + // stroke never intercepts pointer events + }, + stroke: { + // fill never intercepts pointer events + "stroke-intercepts-iff": { + // stroke always intercepts pointer events + }, + }, + all: { + "fill-intercepts-iff": { + // fill always intercepts pointer events + }, + "stroke-intercepts-iff": { + // stroke always intercepts pointer events + }, + }, + none: { + // neither fill nor stroke intercept pointer events + }, +}; + +// bit flags +var POINT_OVER_FILL = 0x1; +var POINT_OVER_STROKE = 0x2; + +/** + * Examine the element's attribute values and, based on the area(s) of the + * element that the pointer event is over (fill and/or stroke areas), return + * true if the element is expected to intercept the event, otherwise false. + */ +function hit_expected( + element, + over /* bit flags indicating which area(s) of the element the pointer is over */ +) { + function expect_hit(target) { + var intercepts_iff = + hit_conditions[element.getAttribute("pointer-events")][ + target + "-intercepts-iff" + ]; + + if (!intercepts_iff) { + return false; // never intercepts events + } + + for (var attr in intercepts_iff) { + var vals = intercepts_iff[attr]; // must get this before we adjust 'attr' + var invert = false; + if (attr.substr(-1) == "!") { + invert = true; + attr = attr.substr(0, attr.length - 1); + } + var match = vals.indexOf(element.getAttribute(attr)) > -1; + if (invert) { + match = !match; + } + if (!match) { + return false; + } + } + + return true; + } + + return ( + ((over & POINT_OVER_FILL) != 0 && expect_hit("fill")) || + ((over & POINT_OVER_STROKE) != 0 && expect_hit("stroke")) + ); +} + +function for_all_permutations(inputs, callback) { + var current_permutation = arguments[2] || {}; + var index = arguments[3] || 0; + + if (index < inputs.length) { + var name = inputs[index].name; + var values = inputs[index].values; + for (var i = 0; i < values.length; ++i) { + current_permutation[name] = values[i]; + for_all_permutations(inputs, callback, current_permutation, index + 1); + } + return; + } + + callback(current_permutation); +} + +function make_log_msg(over, tag, attributes) { + var target; + if (over == (POINT_OVER_FILL | POINT_OVER_STROKE)) { + target = "fill and stroke"; + } else if (over == POINT_OVER_FILL) { + target = "fill"; + } else if (over == POINT_OVER_STROKE) { + target = "stroke"; + } else { + throw new Error("unexpected bit combination in 'over'"); + } + var msg = + "Check if events are intercepted at a point over the " + + target + + " on <" + + tag + + "> for"; + for (var attr in attributes) { + msg += " " + attr + "=" + attributes[attr]; + } + return msg; +} + +var dx, dy; // offset of element from pointer coordinates origin + +function test_element( + id, + x, + y, + over /* bit flags indicating which area(s) of the element the pointer is over */ +) { + var element = document.getElementById(id); + var tag = element.tagName; + + function test_permutation(attributes) { + for (var attr in attributes) { + element.setAttribute(attr, attributes[attr]); + } + var hits = document.elementFromPoint(dx + x, dy + y) == element; + var msg = make_log_msg(over, tag, attributes); + + is(hits, hit_expected(element, over), msg); + } + + var inputs; + if (over == (POINT_OVER_FILL | POINT_OVER_STROKE)) { + inputs = hit_test_inputs.both; + } else if (over == POINT_OVER_FILL) { + inputs = hit_test_inputs.fill; + } else if (over == POINT_OVER_STROKE) { + inputs = hit_test_inputs.stroke; + } else { + throw new Error("unexpected bit combination in 'over'"); + } + + for_all_permutations(inputs, test_permutation); + + // To reduce the chance of bogus results in subsequent tests: + element.setAttribute("fill", "none"); + element.setAttribute("stroke", "none"); +} + +function run_tests(subtest) { + var div = document.getElementById("div"); + dx = div.offsetLeft; + dy = div.offsetTop; + + // Run the test with only a subset of pointer-events values, to avoid + // running over the mochitest time limit. The subtest argument indicates + // whether to use the first half of the pointer-events values (0) + // or the second half (1). + var partition = Math.floor(pointer_events_values.length / 2); + switch (subtest) { + case 0: + pointer_events_values.splice(partition); + break; + case 1: + pointer_events_values.splice(0, partition); + break; + case 2: + throw new Error("unexpected subtest number"); + } + + test_element("rect", 30, 30, POINT_OVER_FILL); + test_element("rect", 5, 5, POINT_OVER_STROKE); + + // The SVG 1.1 spec essentially says that, for text, hit testing is done + // against the character cells of the text, and not the fill and stroke as + // you might expect for a normal graphics element like . See the + // paragraph starting "For text elements..." in this section: + // + // http://www.w3.org/TR/SVG11/interact.html#PointerEventsProperty + // + // This requirement essentially means that for the purposes of hit testing + // the fill and stroke areas are the same area - the character cell. (At + // least until we support having any fill or stroke that lies outside the + // character cells intercept events like Opera does - see below.) Thus, for + // text, when a pointer event is over a character cell it is essentially over + // both the fill and stroke at the same time. That's the reason we pass both + // the POINT_OVER_FILL and POINT_OVER_STROKE bits in test_element's 'over' + // argument below. It's also the reason why we only test one point in the + // text rather than having separate tests for fill and stroke. + // + // For hit testing of text, Opera essentially treats fill and stroke like it + // would on any normal element, but it adds the character cells of glyhs to + // both the glyphs' fill AND stroke. I think this is what we should do too. + // It's compatible with the letter of the SVG 1.1 rules, and it allows any + // parts of a glyph that are outside the glyph's character cells to also + // intercept events in the normal way. When we make that change we'll be able + // to add separate fill and stroke tests for text below. + + test_element("text", 210, 30, POINT_OVER_FILL | POINT_OVER_STROKE); + + SimpleTest.finish(); +} diff --git a/dom/svg/test/scientific-helper.svg b/dom/svg/test/scientific-helper.svg new file mode 100644 index 0000000000..8ac2227e62 --- /dev/null +++ b/dom/svg/test/scientific-helper.svg @@ -0,0 +1,5 @@ + + + + x + diff --git a/dom/svg/test/selectSubString-helper.svg b/dom/svg/test/selectSubString-helper.svg new file mode 100644 index 0000000000..6c80d9d46b --- /dev/null +++ b/dom/svg/test/selectSubString-helper.svg @@ -0,0 +1,7 @@ + + + + abc + diff --git a/dom/svg/test/switch-helper.svg b/dom/svg/test/switch-helper.svg new file mode 100644 index 0000000000..842296efa7 --- /dev/null +++ b/dom/svg/test/switch-helper.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/dom/svg/test/tearoff_with_cc_helper.html b/dom/svg/test/tearoff_with_cc_helper.html new file mode 100644 index 0000000000..6d63e939fe --- /dev/null +++ b/dom/svg/test/tearoff_with_cc_helper.html @@ -0,0 +1,36 @@ + + + + + + + + diff --git a/dom/svg/test/test_SVGLengthList-2.xhtml b/dom/svg/test/test_SVGLengthList-2.xhtml new file mode 100644 index 0000000000..0d8b3a8737 --- /dev/null +++ b/dom/svg/test/test_SVGLengthList-2.xhtml @@ -0,0 +1,64 @@ + + + + Tests specific to SVGLengthList + + + + +Mozilla Bug 630760 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_SVGLengthList.xhtml b/dom/svg/test/test_SVGLengthList.xhtml new file mode 100644 index 0000000000..87b5c40d6b --- /dev/null +++ b/dom/svg/test/test_SVGLengthList.xhtml @@ -0,0 +1,158 @@ + + + + Tests specific to SVGLengthList + + + + + +Mozilla Bug 515116 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_SVGMatrix.xhtml b/dom/svg/test/test_SVGMatrix.xhtml new file mode 100644 index 0000000000..9f5b50b555 --- /dev/null +++ b/dom/svg/test/test_SVGMatrix.xhtml @@ -0,0 +1,180 @@ + + + Test SVGMatrix behavior + + + + + +

+
+ + + +
+
+
+
+ + diff --git a/dom/svg/test/test_SVGNumberList.xhtml b/dom/svg/test/test_SVGNumberList.xhtml new file mode 100644 index 0000000000..15198b5783 --- /dev/null +++ b/dom/svg/test/test_SVGNumberList.xhtml @@ -0,0 +1,74 @@ + + + + Tests specific to SVGNumberList + + + + + +Mozilla Bug 629200 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_SVGPointList.xhtml b/dom/svg/test/test_SVGPointList.xhtml new file mode 100644 index 0000000000..9a0d661eca --- /dev/null +++ b/dom/svg/test/test_SVGPointList.xhtml @@ -0,0 +1,129 @@ + + + + Tests specific to SVGPointList + + + + + +Mozilla Bug 629200 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_SVGStringList.xhtml b/dom/svg/test/test_SVGStringList.xhtml new file mode 100644 index 0000000000..faba904376 --- /dev/null +++ b/dom/svg/test/test_SVGStringList.xhtml @@ -0,0 +1,118 @@ + + + + Tests specific to SVGStringList + + + + +Mozilla Bug 724993 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_SVGStyleElement.xhtml b/dom/svg/test/test_SVGStyleElement.xhtml new file mode 100644 index 0000000000..41d449dee5 --- /dev/null +++ b/dom/svg/test/test_SVGStyleElement.xhtml @@ -0,0 +1,33 @@ + + + + Test SVGStyleElement + + + + +Mozilla Bug 559024 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_SVGTransformList.xhtml b/dom/svg/test/test_SVGTransformList.xhtml new file mode 100644 index 0000000000..3e1cd7b8bb --- /dev/null +++ b/dom/svg/test/test_SVGTransformList.xhtml @@ -0,0 +1,461 @@ + + + + Tests specific to SVGTransformList + + + + + + + + Mozilla Bug 602759 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_SVGTransformListAddition.xhtml b/dom/svg/test/test_SVGTransformListAddition.xhtml new file mode 100644 index 0000000000..b3b908466c --- /dev/null +++ b/dom/svg/test/test_SVGTransformListAddition.xhtml @@ -0,0 +1,185 @@ + + + + Tests specific to SVGLengthList addition + + + + + + Mozilla Bug 602759 +

+
+ + + +
+
+
+
+ + diff --git a/dom/svg/test/test_SVG_namespace_ids.html b/dom/svg/test/test_SVG_namespace_ids.html new file mode 100644 index 0000000000..43b2684649 --- /dev/null +++ b/dom/svg/test/test_SVG_namespace_ids.html @@ -0,0 +1,113 @@ + + + + + Test for Bug 589640 + + + + + +Mozilla Bug 589640 +

+
+
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+  
+
+
+
diff --git a/dom/svg/test/test_SVGxxxList.xhtml b/dom/svg/test/test_SVGxxxList.xhtml
new file mode 100644
index 0000000000..0465ddb4bb
--- /dev/null
+++ b/dom/svg/test/test_SVGxxxList.xhtml
@@ -0,0 +1,1372 @@
+
+
+
+  Generic tests for SVG animated length lists
+  
+  
+  
+  
+
+
+Mozilla Bug 515116
+

+
+ + + + + + + + + text + + + + +
+
+
+
+ + diff --git a/dom/svg/test/test_SVGxxxListIndexing.xhtml b/dom/svg/test/test_SVGxxxListIndexing.xhtml new file mode 100644 index 0000000000..b1dec4df31 --- /dev/null +++ b/dom/svg/test/test_SVGxxxListIndexing.xhtml @@ -0,0 +1,93 @@ + + + + Tests the array indexing and .length on SVGXXXList objects + + + + +Mozilla Bug 631437 + + abcde + + + + + + + diff --git a/dom/svg/test/test_a_href_01.xhtml b/dom/svg/test/test_a_href_01.xhtml new file mode 100644 index 0000000000..a1ff8d7227 --- /dev/null +++ b/dom/svg/test/test_a_href_01.xhtml @@ -0,0 +1,96 @@ + + + + Test that activating SVG 'a' elements navigate to their xlink:href or href + + + + + +Mozilla Bug 620295 +Mozilla Bug 1245751 +

+
+
+
+ + + diff --git a/dom/svg/test/test_a_href_02.xhtml b/dom/svg/test/test_a_href_02.xhtml new file mode 100644 index 0000000000..0d2277674e --- /dev/null +++ b/dom/svg/test/test_a_href_02.xhtml @@ -0,0 +1,37 @@ + + + + Test that the href property reflects xlink:href="" on 'a' elements + + + + +Mozilla Bug 620295 +

+
+ + + +
+
+
+
+ + diff --git a/dom/svg/test/test_animLengthObjectIdentity.xhtml b/dom/svg/test/test_animLengthObjectIdentity.xhtml new file mode 100644 index 0000000000..b4bce755b9 --- /dev/null +++ b/dom/svg/test/test_animLengthObjectIdentity.xhtml @@ -0,0 +1,86 @@ + + + + Test for object identity of SVG animated lengths + + + + +Mozilla Bug 508496 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_animLengthReadonly.xhtml b/dom/svg/test/test_animLengthReadonly.xhtml new file mode 100644 index 0000000000..f9c16e7752 --- /dev/null +++ b/dom/svg/test/test_animLengthReadonly.xhtml @@ -0,0 +1,219 @@ + + + + Test for read-only times of SVG animated lengths + + + + +Mozilla Bug 506856 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_animLengthUnits.xhtml b/dom/svg/test/test_animLengthUnits.xhtml new file mode 100644 index 0000000000..59faaed1f0 --- /dev/null +++ b/dom/svg/test/test_animLengthUnits.xhtml @@ -0,0 +1,125 @@ + + + + Test for units of SVG animated lengths + + + + +Mozilla Bug 507067 +

+
+ + + + + + + +
+
+
+
+ + diff --git a/dom/svg/test/test_bbox-changes.xhtml b/dom/svg/test/test_bbox-changes.xhtml new file mode 100644 index 0000000000..1877754a21 --- /dev/null +++ b/dom/svg/test/test_bbox-changes.xhtml @@ -0,0 +1,77 @@ + + + + + Test that the results of getBBox update for changes + + + + + +

+ + + + + + + + +

+ + + +
+
+
+ + diff --git a/dom/svg/test/test_bbox-with-invalid-viewBox.xhtml b/dom/svg/test/test_bbox-with-invalid-viewBox.xhtml new file mode 100644 index 0000000000..c962b469f6 --- /dev/null +++ b/dom/svg/test/test_bbox-with-invalid-viewBox.xhtml @@ -0,0 +1,38 @@ + + + + + Test for getBBox when the viewBox is invalid + + + + + +

+ + + + + + +
+
+
+ + diff --git a/dom/svg/test/test_bbox.xhtml b/dom/svg/test/test_bbox.xhtml new file mode 100644 index 0000000000..19e1aadf2c --- /dev/null +++ b/dom/svg/test/test_bbox.xhtml @@ -0,0 +1,91 @@ + + + + + Test for getBBox + + + + + +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_bounds.html b/dom/svg/test/test_bounds.html new file mode 100644 index 0000000000..0cf0001065 --- /dev/null +++ b/dom/svg/test/test_bounds.html @@ -0,0 +1,317 @@ + + + + + Test for Bug 463934 + + + + + +Mozilla Bug 463934 +

+
+ + + + + + + + + + +
+ + + +
+
+
+ + diff --git a/dom/svg/test/test_bug1426594.html b/dom/svg/test/test_bug1426594.html new file mode 100644 index 0000000000..ac975093c8 --- /dev/null +++ b/dom/svg/test/test_bug1426594.html @@ -0,0 +1,34 @@ + + + + + Test for Bug 1426594 + + + + + +Mozilla Bug 1426594 + +ABCDEF + +
+
+ + diff --git a/dom/svg/test/test_bug872812.html b/dom/svg/test/test_bug872812.html new file mode 100644 index 0000000000..5369504c8f --- /dev/null +++ b/dom/svg/test/test_bug872812.html @@ -0,0 +1,29 @@ + + + + + Test for Bug 872812 + + + + +Mozilla Bug 872812 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_dataTypes.html b/dom/svg/test/test_dataTypes.html new file mode 100644 index 0000000000..a02a52e2a1 --- /dev/null +++ b/dom/svg/test/test_dataTypes.html @@ -0,0 +1,377 @@ + + + + + Test for Bug 437448 + + + + +Mozilla Bug 437448 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_dataTypesModEvents.html b/dom/svg/test/test_dataTypesModEvents.html new file mode 100644 index 0000000000..e85165db44 --- /dev/null +++ b/dom/svg/test/test_dataTypesModEvents.html @@ -0,0 +1,257 @@ + + + + + Test for Bug 629200 + + + + + +Mozilla + Bug 629200 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_fragments.html b/dom/svg/test/test_fragments.html new file mode 100644 index 0000000000..b12833e899 --- /dev/null +++ b/dom/svg/test/test_fragments.html @@ -0,0 +1,92 @@ + + + + + Test for Bug 759124 + + + + +Mozilla Bug 759124 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_getBBox-method.html b/dom/svg/test/test_getBBox-method.html new file mode 100644 index 0000000000..bad8f1ffed --- /dev/null +++ b/dom/svg/test/test_getBBox-method.html @@ -0,0 +1,248 @@ + + + + + Test case for Bug 999964 + + + + + +Mozilla Bug 999964 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_getCTM.html b/dom/svg/test/test_getCTM.html new file mode 100644 index 0000000000..860b660867 --- /dev/null +++ b/dom/svg/test/test_getCTM.html @@ -0,0 +1,124 @@ + + + + + Test for Bug 366697 + + + + + +Mozilla Bug 366697 +

+ + + + + + + + +
+
+
+ + diff --git a/dom/svg/test/test_getElementById.xhtml b/dom/svg/test/test_getElementById.xhtml new file mode 100644 index 0000000000..82050bea55 --- /dev/null +++ b/dom/svg/test/test_getElementById.xhtml @@ -0,0 +1,65 @@ + + + Test getElementById behaviour + + + + + +

+
+ + + + + + + + + + + + + + +
+
+
+
+ + diff --git a/dom/svg/test/test_getPathSegListAtLength_with_d_property.html b/dom/svg/test/test_getPathSegListAtLength_with_d_property.html new file mode 100644 index 0000000000..c16ad71adf --- /dev/null +++ b/dom/svg/test/test_getPathSegListAtLength_with_d_property.html @@ -0,0 +1,55 @@ + +Test for getPathSegAtLength for d property + + + + + + +
+ + + + + + + + + diff --git a/dom/svg/test/test_getSubStringLength.xhtml b/dom/svg/test/test_getSubStringLength.xhtml new file mode 100644 index 0000000000..1d9784e003 --- /dev/null +++ b/dom/svg/test/test_getSubStringLength.xhtml @@ -0,0 +1,91 @@ + + + + + Test for Bug 420243 + + + + +Mozilla Bug 420243 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_getTotalLength.xhtml b/dom/svg/test/test_getTotalLength.xhtml new file mode 100644 index 0000000000..0809f40ca1 --- /dev/null +++ b/dom/svg/test/test_getTotalLength.xhtml @@ -0,0 +1,57 @@ + + + + + Test for Bug 1474284 + + + + +Mozilla Bug 1474284 +

+ + + + + + + + +
+
+
+ + diff --git a/dom/svg/test/test_hit-testing-and-viewbox.xhtml b/dom/svg/test/test_hit-testing-and-viewbox.xhtml new file mode 100644 index 0000000000..6ab83e54be --- /dev/null +++ b/dom/svg/test/test_hit-testing-and-viewbox.xhtml @@ -0,0 +1,81 @@ + + + + Test that hit-testing works after a viewBox update + + + + + + + + + +Mozilla Bug 1486952 +

+
+ +
+ + + + + + + +
+
+
+ + diff --git a/dom/svg/test/test_lang.xhtml b/dom/svg/test/test_lang.xhtml new file mode 100644 index 0000000000..df11660df2 --- /dev/null +++ b/dom/svg/test/test_lang.xhtml @@ -0,0 +1,90 @@ + + + + + Test for Bug 721920 + + + + + + +Mozilla Bug 721920 +

+ + + 汉字 + 汉字 + 汉字 + 汉字 + + +

+ +
+
+
+ + + diff --git a/dom/svg/test/test_length.xhtml b/dom/svg/test/test_length.xhtml new file mode 100644 index 0000000000..513c65cbb2 --- /dev/null +++ b/dom/svg/test/test_length.xhtml @@ -0,0 +1,58 @@ + + + + Test SVG Length conversions + + + + +Mozilla Bug 342513 +

+
+ +
+
+ + + + + + + + +
+
+
+
+ + diff --git a/dom/svg/test/test_lengthParsing.html b/dom/svg/test/test_lengthParsing.html new file mode 100644 index 0000000000..8471b19855 --- /dev/null +++ b/dom/svg/test/test_lengthParsing.html @@ -0,0 +1,82 @@ + + + + + + Test transform parsing + + + + +Mozilla Bug 946529 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_markerOrient.xhtml b/dom/svg/test/test_markerOrient.xhtml new file mode 100644 index 0000000000..1b91a9a62a --- /dev/null +++ b/dom/svg/test/test_markerOrient.xhtml @@ -0,0 +1,110 @@ + + + + Test for Bug 892372 + + + + + +Mozilla Bug 892372 +

+ +
+
+ + diff --git a/dom/svg/test/test_non-scaling-stroke.html b/dom/svg/test/test_non-scaling-stroke.html new file mode 100644 index 0000000000..49010eed0a --- /dev/null +++ b/dom/svg/test/test_non-scaling-stroke.html @@ -0,0 +1,52 @@ + + + + + Test for Bug 829085 - non-scaling-stroke hit testing + + + + + + + Mozilla Bug 829085 - non-scaling-stroke hit testing +

+
+ + + + + + + + + +
+
+
+
+ + diff --git a/dom/svg/test/test_nonAnimStrings.xhtml b/dom/svg/test/test_nonAnimStrings.xhtml new file mode 100644 index 0000000000..5ceabed892 --- /dev/null +++ b/dom/svg/test/test_nonAnimStrings.xhtml @@ -0,0 +1,78 @@ + + + + Test for non-animated strings + + + + +Mozilla Bug 589436 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_object-delayed-intrinsic-size.html b/dom/svg/test/test_object-delayed-intrinsic-size.html new file mode 100644 index 0000000000..18645892f7 --- /dev/null +++ b/dom/svg/test/test_object-delayed-intrinsic-size.html @@ -0,0 +1,39 @@ + + + + + Test that <object> embedding SVG and using its intrinsic + size will resize if the <object> gets a reflow before the + root-<svg> gets its nsSVGOuterSVGFrame + + + + + + + Mozilla Bug 1063073 +

+
+ +
+ + + diff --git a/dom/svg/test/test_onerror.xhtml b/dom/svg/test/test_onerror.xhtml new file mode 100644 index 0000000000..394c88c890 --- /dev/null +++ b/dom/svg/test/test_onerror.xhtml @@ -0,0 +1,35 @@ + + + + Test onerror behaviour + + + + +Mozilla Bug 500261 +

+ +
+ + + + + +
+
+
+ + diff --git a/dom/svg/test/test_onload.xhtml b/dom/svg/test/test_onload.xhtml new file mode 100644 index 0000000000..982cbb52bf --- /dev/null +++ b/dom/svg/test/test_onload.xhtml @@ -0,0 +1,35 @@ + + + + Test onload behaviour + + + + +Mozilla Bug 1668942 +

+ +
+ + + + + +
+
+
+ + diff --git a/dom/svg/test/test_onload2.xhtml b/dom/svg/test/test_onload2.xhtml new file mode 100644 index 0000000000..6572fc6de8 --- /dev/null +++ b/dom/svg/test/test_onload2.xhtml @@ -0,0 +1,48 @@ + + + + Test onload behaviour + + + + +Mozilla Bug 1474311 +

+ +
+ + + +
+
+
+ + diff --git a/dom/svg/test/test_pairParsing.html b/dom/svg/test/test_pairParsing.html new file mode 100644 index 0000000000..9a603dc1d5 --- /dev/null +++ b/dom/svg/test/test_pairParsing.html @@ -0,0 +1,43 @@ + + + + + + Test pair parsing + + + + +Mozilla Bug 1512745 + + + + + + + + + +
+
+
+ + diff --git a/dom/svg/test/test_pathAnimInterpolation.xhtml b/dom/svg/test/test_pathAnimInterpolation.xhtml new file mode 100644 index 0000000000..3f2e6659a9 --- /dev/null +++ b/dom/svg/test/test_pathAnimInterpolation.xhtml @@ -0,0 +1,341 @@ + + + + Test interpolation between different path segment types + + + + +Mozilla Bug 619498 + + + + diff --git a/dom/svg/test/test_pointAtLength.xhtml b/dom/svg/test/test_pointAtLength.xhtml new file mode 100644 index 0000000000..652fac0e69 --- /dev/null +++ b/dom/svg/test/test_pointAtLength.xhtml @@ -0,0 +1,49 @@ + + + + Test getPointAtLength + + + + + +Mozilla Bug 643419 +

+
+ + + + + + + +
+
+
+ + diff --git a/dom/svg/test/test_pointer-events-1a.xhtml b/dom/svg/test/test_pointer-events-1a.xhtml new file mode 100644 index 0000000000..b7bba026c2 --- /dev/null +++ b/dom/svg/test/test_pointer-events-1a.xhtml @@ -0,0 +1,27 @@ + + + + Test 'pointer-events' handling + + + + + +Mozilla Bug 619959 +

+
+ +
+ + + + X + + +
+
+
+ + diff --git a/dom/svg/test/test_pointer-events-1b.xhtml b/dom/svg/test/test_pointer-events-1b.xhtml new file mode 100644 index 0000000000..7cd353de4d --- /dev/null +++ b/dom/svg/test/test_pointer-events-1b.xhtml @@ -0,0 +1,27 @@ + + + + Test 'pointer-events' handling + + + + + +Mozilla Bug 619959 +

+
+ +
+ + + + X + + +
+
+
+ + diff --git a/dom/svg/test/test_pointer-events-2.xhtml b/dom/svg/test/test_pointer-events-2.xhtml new file mode 100644 index 0000000000..7f2e828521 --- /dev/null +++ b/dom/svg/test/test_pointer-events-2.xhtml @@ -0,0 +1,71 @@ + + + + Test Pointer Events + + + + + +Mozilla Bug 500174 +

+
+ +
+
+ + + + + + + + + + + + + + + +
+
+
+ + diff --git a/dom/svg/test/test_pointer-events-3.xhtml b/dom/svg/test/test_pointer-events-3.xhtml new file mode 100644 index 0000000000..a66297fc45 --- /dev/null +++ b/dom/svg/test/test_pointer-events-3.xhtml @@ -0,0 +1,54 @@ + + + + Test pointer events for small objects scaled up + + + + + +Mozilla Bug 762679 +

+
+ +
+ + + +
+ +
+
+
+ + diff --git a/dom/svg/test/test_pointer-events-4.xhtml b/dom/svg/test/test_pointer-events-4.xhtml new file mode 100644 index 0000000000..e6600bd0f8 --- /dev/null +++ b/dom/svg/test/test_pointer-events-4.xhtml @@ -0,0 +1,109 @@ + + + + Test pointer events with clipPath + + + + + +Mozilla Bug 500174 +

+
+ +
+
+ + + + + + + + + + + + +
+
+
+ + diff --git a/dom/svg/test/test_pointer-events-6.xhtml b/dom/svg/test/test_pointer-events-6.xhtml new file mode 100644 index 0000000000..e6e40aedb1 --- /dev/null +++ b/dom/svg/test/test_pointer-events-6.xhtml @@ -0,0 +1,69 @@ + + + + Test pointer events for clip-path on non-SVG elements + + + + + +Mozilla Bug 500174 +

+
+ + + + + + + + +
+ +
+
+
+ + diff --git a/dom/svg/test/test_pointer-events-7.xhtml b/dom/svg/test/test_pointer-events-7.xhtml new file mode 100644 index 0000000000..d254c40192 --- /dev/null +++ b/dom/svg/test/test_pointer-events-7.xhtml @@ -0,0 +1,65 @@ + + + + Test pointer events with image + + + + + +Mozilla Bug 1119698 +

+
+ +
+
+ + + + + + + + + +
+
+
+ + diff --git a/dom/svg/test/test_scientific.html b/dom/svg/test/test_scientific.html new file mode 100644 index 0000000000..8bc0d67631 --- /dev/null +++ b/dom/svg/test/test_scientific.html @@ -0,0 +1,82 @@ + + + + + Test for Bug 302971 + + + + +Mozilla Bug 302971 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_selectSubString.xhtml b/dom/svg/test/test_selectSubString.xhtml new file mode 100644 index 0000000000..6755b65c56 --- /dev/null +++ b/dom/svg/test/test_selectSubString.xhtml @@ -0,0 +1,74 @@ + + + + + Test for Bug 398825 + + + + +Mozilla Bug 398825 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_stroke-hit-testing.xhtml b/dom/svg/test/test_stroke-hit-testing.xhtml new file mode 100644 index 0000000000..7fc9329260 --- /dev/null +++ b/dom/svg/test/test_stroke-hit-testing.xhtml @@ -0,0 +1,66 @@ + + + + Test hit-testing of stroke + + + + + + +Mozilla Bug 676001 +

+
+ +
+ + + + + + +
+
+
+ + diff --git a/dom/svg/test/test_stroke-linecap-hit-testing.xhtml b/dom/svg/test/test_stroke-linecap-hit-testing.xhtml new file mode 100644 index 0000000000..7e08e88ad0 --- /dev/null +++ b/dom/svg/test/test_stroke-linecap-hit-testing.xhtml @@ -0,0 +1,45 @@ + + + + Test hit-testing of line caps + + + + + +Mozilla Bug 500174 +

+
+ +
+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_style_sheet.html b/dom/svg/test/test_style_sheet.html new file mode 100644 index 0000000000..955dda1ac8 --- /dev/null +++ b/dom/svg/test/test_style_sheet.html @@ -0,0 +1,27 @@ + +Test for Bug 1239128 + + + +Mozilla Bug 1239128 +

+ + + + + +

+
+
diff --git a/dom/svg/test/test_switch.xhtml b/dom/svg/test/test_switch.xhtml new file mode 100644 index 0000000000..d1fa546e26 --- /dev/null +++ b/dom/svg/test/test_switch.xhtml @@ -0,0 +1,99 @@ + + + + Test SVG Switch + + + + +Mozilla Bug 484176 +

+
+ + + +
+
+
+ + diff --git a/dom/svg/test/test_tabindex.html b/dom/svg/test/test_tabindex.html new file mode 100644 index 0000000000..65315420bc --- /dev/null +++ b/dom/svg/test/test_tabindex.html @@ -0,0 +1,103 @@ + + + Test for SVG tabIndex - Bug 778654 + + + + + + + + + +

Here is a paragraph that requires word wrap

+ +
+ + + This is SVG text + + + + + + + + + +
+
+
+
+ + diff --git a/dom/svg/test/test_tearoff_with_cc.html b/dom/svg/test/test_tearoff_with_cc.html new file mode 100644 index 0000000000..86facf40da --- /dev/null +++ b/dom/svg/test/test_tearoff_with_cc.html @@ -0,0 +1,48 @@ + + + + + + Test for Bug 1288228 + + + + + + + Mozilla Bug 1288228 + +

+ +

+ + diff --git a/dom/svg/test/test_text.html b/dom/svg/test/test_text.html new file mode 100644 index 0000000000..c1b99a9175 --- /dev/null +++ b/dom/svg/test/test_text.html @@ -0,0 +1,189 @@ + + + + + Test for Bug 392233 + + + + +Mozilla Bug 392233 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_text_2.html b/dom/svg/test/test_text_2.html new file mode 100644 index 0000000000..380de92dde --- /dev/null +++ b/dom/svg/test/test_text_2.html @@ -0,0 +1,63 @@ + + + + + + Test for Bug 655877 + + + + +Mozilla Bug 655877 +

+
+ + abc אבג 123 דהו defg + +
+ +
+
+
+ + diff --git a/dom/svg/test/test_text_dirty.html b/dom/svg/test/test_text_dirty.html new file mode 100644 index 0000000000..dfcef6c811 --- /dev/null +++ b/dom/svg/test/test_text_dirty.html @@ -0,0 +1,47 @@ + + + + + Test for Bug 886230 + + + + + + +Mozilla Bug 886230 +

+ + x + + +

+ +
+
+
+ + diff --git a/dom/svg/test/test_text_lengthAdjust.html b/dom/svg/test/test_text_lengthAdjust.html new file mode 100644 index 0000000000..21c2454451 --- /dev/null +++ b/dom/svg/test/test_text_lengthAdjust.html @@ -0,0 +1,106 @@ + + + + + + Test for Bug 569722 + + + + +Mozilla Bug 569722 +

+
+ + aaa + +
+ +
+
+
+ + diff --git a/dom/svg/test/test_text_scaled.html b/dom/svg/test/test_text_scaled.html new file mode 100644 index 0000000000..eb64905157 --- /dev/null +++ b/dom/svg/test/test_text_scaled.html @@ -0,0 +1,135 @@ + + + + + Test for Bug 655877 + + + + +Mozilla Bug 655877 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_text_selection.html b/dom/svg/test/test_text_selection.html new file mode 100644 index 0000000000..7160461db9 --- /dev/null +++ b/dom/svg/test/test_text_selection.html @@ -0,0 +1,139 @@ + + + + + + Test for Bug 655877 + + + + + +Mozilla Bug 655877 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/test_text_update.html b/dom/svg/test/test_text_update.html new file mode 100644 index 0000000000..d4677aaeac --- /dev/null +++ b/dom/svg/test/test_text_update.html @@ -0,0 +1,31 @@ + +Test for Bug 876831 + + + +Mozilla Bug 876831 +

+ + + + + ab + + +

+
+
diff --git a/dom/svg/test/test_transform.xhtml b/dom/svg/test/test_transform.xhtml new file mode 100644 index 0000000000..6a139d3580 --- /dev/null +++ b/dom/svg/test/test_transform.xhtml @@ -0,0 +1,190 @@ + + + + Test SVGTransform behavior + + + + + +Mozilla Bug 512636 +

+
+ + + + + +
+
+
+
+ + diff --git a/dom/svg/test/test_transformParsing.html b/dom/svg/test/test_transformParsing.html new file mode 100644 index 0000000000..bd6bb61f42 --- /dev/null +++ b/dom/svg/test/test_transformParsing.html @@ -0,0 +1,103 @@ + + + + + + Test transform parsing + + + + +Mozilla Bug 946529 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_use_with_hsts.html b/dom/svg/test/test_use_with_hsts.html new file mode 100644 index 0000000000..2c82d93569 --- /dev/null +++ b/dom/svg/test/test_use_with_hsts.html @@ -0,0 +1,132 @@ + + + + + + Test for Bug 1247733 + + + + + +Mozilla Bug 1247733 +

+ +

+ +

+
+
+
diff --git a/dom/svg/test/test_valueAsString.xhtml b/dom/svg/test/test_valueAsString.xhtml
new file mode 100644
index 0000000000..ab22ae146c
--- /dev/null
+++ b/dom/svg/test/test_valueAsString.xhtml
@@ -0,0 +1,64 @@
+
+
+
+  Test valueAsString behavior
+  
+  
+
+
+Mozilla Bug 539697
+

+
+ + + + + + +
+
+
+
+ + diff --git a/dom/svg/test/test_valueLeaks.xhtml b/dom/svg/test/test_valueLeaks.xhtml new file mode 100644 index 0000000000..ce816efc1c --- /dev/null +++ b/dom/svg/test/test_valueLeaks.xhtml @@ -0,0 +1,84 @@ + + + + Test for Bug 467671 + + + + +Mozilla Bug 467671 +

+ +
+
+
+ + diff --git a/dom/svg/test/test_viewBox.html b/dom/svg/test/test_viewBox.html new file mode 100644 index 0000000000..d09f5110ef --- /dev/null +++ b/dom/svg/test/test_viewBox.html @@ -0,0 +1,86 @@ + + + + + Test for Bug 1396642 + + + + +Mozilla Bug 1396642 +

+ + +
+ +
+
+
+ + diff --git a/dom/svg/test/test_viewport.html b/dom/svg/test/test_viewport.html new file mode 100644 index 0000000000..66f8926fe0 --- /dev/null +++ b/dom/svg/test/test_viewport.html @@ -0,0 +1,59 @@ + + + + + Test for Bug 483389 + + + + +Mozilla Bug 483389 +

+ + + + +
+
+
+ + diff --git a/dom/svg/test/text-helper-scaled.svg b/dom/svg/test/text-helper-scaled.svg new file mode 100644 index 0000000000..3d534e3fd3 --- /dev/null +++ b/dom/svg/test/text-helper-scaled.svg @@ -0,0 +1,8 @@ + + + abc + + + abcdefghijklmnopqrstuvwxyz + + diff --git a/dom/svg/test/text-helper-selection.svg b/dom/svg/test/text-helper-selection.svg new file mode 100644 index 0000000000..df84a19ac4 --- /dev/null +++ b/dom/svg/test/text-helper-selection.svg @@ -0,0 +1,23 @@ + + + + + + + hello there + to you all! + abcdef + אבגabc + squashed + + + + + diff --git a/dom/svg/test/text-helper.svg b/dom/svg/test/text-helper.svg new file mode 100644 index 0000000000..1bdff86f26 --- /dev/null +++ b/dom/svg/test/text-helper.svg @@ -0,0 +1,19 @@ + + + + + + abc + + + abc + + + abcdefghijklmnopqrstuvwxyz + + abc + + diff --git a/dom/svg/test/use-with-hsts-helper.html b/dom/svg/test/use-with-hsts-helper.html new file mode 100644 index 0000000000..409dade7c6 --- /dev/null +++ b/dom/svg/test/use-with-hsts-helper.html @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + diff --git a/dom/svg/test/use-with-hsts-helper.html^headers^ b/dom/svg/test/use-with-hsts-helper.html^headers^ new file mode 100644 index 0000000000..a46bf65bd9 --- /dev/null +++ b/dom/svg/test/use-with-hsts-helper.html^headers^ @@ -0,0 +1,2 @@ +Cache-Control: no-cache +Strict-Transport-Security: max-age=60 diff --git a/dom/svg/test/viewport-helper.svg b/dom/svg/test/viewport-helper.svg new file mode 100644 index 0000000000..c553b43a1f --- /dev/null +++ b/dom/svg/test/viewport-helper.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3